1 # SPDX-License-Identifier: LGPL-2.1-only
4 jarfile = liblttng-ust-java.jar
5 jardir = $(datadir)/java
6 pkgpath = org/lttng/ust
8 dist_noinst_JAVA = $(pkgpath)/LTTngUst.java
11 AM_CPPFLAGS += -I$(builddir) -I$(srcdir) $(JNI_CPPFLAGS)
13 lib_LTLIBRARIES = liblttng-ust-java.la
14 liblttng_ust_java_la_SOURCES = LTTngUst.c lttng_ust_java.h
16 # Generated by javac / javah
17 nodist_liblttng_ust_java_la_SOURCES = org_lttng_ust_LTTngUst.h
19 # Explicit dependency to ensure the header is generated before the
21 LTTngUst.lo: org_lttng_ust_LTTngUst.h
23 liblttng_ust_java_la_LIBADD = -lc \
24 $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la
26 $(jarfile): classnoinst.stamp
27 $(JAR) cf $(JARFLAGS) $@ -C $(JAVAROOT) $(pkgpath)/LTTngUst.class
29 # Ensure the javaroot directory is created before the Java class files are built.
30 $(pkgpath)/LTTngUst.java: $(JAVAROOT)
32 -test -d $(JAVAROOT) || mkdir $(JAVAROOT)
35 # If we don't have javah, assume we are running openjdk >= 10 and use javac
36 # to generate the jni header file.
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.
41 org_lttng_ust_LTTngUst.h: classnoinst.stamp
43 org_lttng_ust_LTTngUst.h:
44 $(JAVAH) -classpath $(srcdir) $(JAVAHFLAGS) org.lttng.ust.LTTngUst
49 CLEANFILES = $(jarfile) org_lttng_ust_LTTngUst.h