fix: 'make dist' without javah
[lttng-ust.git] / src / lib / lttng-ust-java / Makefile.am
CommitLineData
c0c0989a
MJ
1# SPDX-License-Identifier: LGPL-2.1-only
2
2d2d3871 3JAVAROOT = .build
8d179959
CB
4jarfile = liblttng-ust-java.jar
5jardir = $(datadir)/java
6pkgpath = org/lttng/ust
378fa1c7 7
8d179959
CB
8dist_noinst_JAVA = $(pkgpath)/LTTngUst.java
9jar_DATA = $(jarfile)
8d179959 10
fb54defd 11AM_CPPFLAGS += -I$(builddir) -I$(srcdir) $(JNI_CPPFLAGS)
2d2d3871 12
69400ac4 13lib_LTLIBRARIES = liblttng-ust-java.la
ca7bd68c 14liblttng_ust_java_la_SOURCES = LTTngUst.c lttng_ust_java.h
2d2d3871
MJ
15
16# Generated by javac / javah
ca7bd68c 17nodist_liblttng_ust_java_la_SOURCES = org_lttng_ust_LTTngUst.h
d880b43f 18
2d2d3871
MJ
19# Explicit dependency to ensure the header is generated before the
20# C file is built.
21LTTngUst.lo: org_lttng_ust_LTTngUst.h
22
4350ff08 23liblttng_ust_java_la_LIBADD = -lc \
6339062a 24 $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la
378fa1c7 25
8d179959 26$(jarfile): classnoinst.stamp
2d2d3871
MJ
27 $(JAR) cf $(JARFLAGS) $@ -C $(JAVAROOT) $(pkgpath)/LTTngUst.class
28
29# Ensure the javaroot directory is created before the Java class files are built.
30$(pkgpath)/LTTngUst.java: $(JAVAROOT)
31$(JAVAROOT):
32 -test -d $(JAVAROOT) || mkdir $(JAVAROOT)
378fa1c7 33
ca08b2bf
MJ
34if !HAVE_JAVAH
35# If we don't have javah, assume we are running openjdk >= 10 and use javac
36# to generate the jni header file.
37AM_JAVACFLAGS = -h .
38
2d2d3871
MJ
39# The header file will be generated by javac when building the Java class
40# files, add a dependency on the stamp file to ensure proper ordering.
41org_lttng_ust_LTTngUst.h: classnoinst.stamp
ca08b2bf 42else
2d2d3871
MJ
43org_lttng_ust_LTTngUst.h:
44 $(JAVAH) -classpath $(srcdir) $(JAVAHFLAGS) org.lttng.ust.LTTngUst
ca08b2bf 45endif
2b6f8df9 46
e6e508c9
MJ
47EXTRA_DIST = README
48
2d2d3871
MJ
49CLEANFILES = $(jarfile) org_lttng_ust_LTTngUst.h
50
51clean-local:
52 -rm -rf $(JAVAROOT)
This page took 0.039616 seconds and 4 git commands to generate.