1 # SPDX-FileCopyrightText: 2023 EfficiOS, Inc
3 # SPDX-License-Identifier: LGPL-2.1-only
6 jarfile = liblttng-ust-java.jar
7 jardir = $(datadir)/java
8 pkgpath = org/lttng/ust
10 dist_noinst_JAVA = $(pkgpath)/LTTngUst.java
13 AM_CPPFLAGS += -I$(builddir) -I$(srcdir) $(JNI_CPPFLAGS)
15 lib_LTLIBRARIES = liblttng-ust-java.la
16 liblttng_ust_java_la_SOURCES = LTTngUst.c lttng_ust_java.h
18 # Generated by javac / javah
19 nodist_liblttng_ust_java_la_SOURCES = org_lttng_ust_LTTngUst.h
21 # Explicit dependency to ensure the header is generated before the
23 LTTngUst.lo: org_lttng_ust_LTTngUst.h
25 liblttng_ust_java_la_LIBADD = -lc \
26 $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la
28 $(jarfile): classnoinst.stamp
29 $(JAR) cf $(JARFLAGS) $@ -C $(JAVAROOT) $(pkgpath)/LTTngUst.class
31 # Ensure the javaroot directory is created before the Java class files are built.
32 $(pkgpath)/LTTngUst.java: $(JAVAROOT)
34 -test -d $(JAVAROOT) || mkdir $(JAVAROOT)
37 # If we don't have javah, assume we are running openjdk >= 10 and use javac
38 # to generate the jni header file.
41 # The header file will be generated by javac when building the Java class
42 # files, add a dependency on the stamp file to ensure proper ordering.
43 org_lttng_ust_LTTngUst.h: classnoinst.stamp
45 org_lttng_ust_LTTngUst.h:
46 $(JAVAH) -classpath $(srcdir) $(JAVAHFLAGS) org.lttng.ust.LTTngUst
51 CLEANFILES = $(jarfile) org_lttng_ust_LTTngUst.h