X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust-java%2FMakefile.am;h=13298eb3a5f282e4c496a8494e199b611b9282d8;hb=c0c0989ab70574e09b2f7e8b48c2da6af664a849;hp=5d43cfc713a5ccf4f28f1ab7b8e434e16424963e;hpb=cfff0cd5c5c3abf42ab48ef90ab974e66105167f;p=lttng-ust.git diff --git a/liblttng-ust-java/Makefile.am b/liblttng-ust-java/Makefile.am index 5d43cfc7..13298eb3 100644 --- a/liblttng-ust-java/Makefile.am +++ b/liblttng-ust-java/Makefile.am @@ -1,38 +1,41 @@ -LTTNG_JUST_SRCDIR = $(srcdir)/org/lttng/ust -LTTNG_JUST_DESTDIR = $(builddir)/org/lttng/ust +# SPDX-License-Identifier: LGPL-2.1-only -if BUILD_JNI_INTERFACE +JAVAROOT = . +jarfile = liblttng-ust-java.jar +jardir = $(datadir)/java +pkgpath = org/lttng/ust -AM_CPPFLAGS = -I$(top_srcdir)/include +dist_noinst_JAVA = $(pkgpath)/LTTngUst.java +jar_DATA = $(jarfile) +BUILT_SOURCES = org_lttng_ust_LTTngUst.h +AM_CPPFLAGS += -I$(builddir) -I$(srcdir) $(JNI_CPPFLAGS) lib_LTLIBRARIES = liblttng-ust-java.la liblttng_ust_java_la_SOURCES = LTTngUst.c lttng_ust_java.h nodist_liblttng_ust_java_la_SOURCES = org_lttng_ust_LTTngUst.h -dist_noinst_DATA = $(LTTNG_JUST_SRCDIR)/LTTngUst.java -liblttng_ust_java_la_LIBADD = -lc -L$(top_builddir)/liblttng-ust/.libs -llttng-ust -if HAVE_JAVA_JDK -JCC=$(JAVA_JDK)/bin -else -JCC=javac -endif +liblttng_ust_java_la_LIBADD = -lc \ + $(top_builddir)/liblttng-ust/liblttng-ust.la -all: $(LTTNG_JUST_DESTDIR)/LTTngUst.class org_lttng_ust_LTTngUst.h liblttng-ust-java.jar +$(jarfile): classnoinst.stamp + $(JAR) cf $(JARFLAGS) $@ $(pkgpath)/*.class -clean-local: - rm -f org_lttng_ust_LTTngUst.h - rm -f liblttng-ust-java.jar - rm -rf org/lttng/ust/*.class +if !HAVE_JAVAH +# If we don't have javah, assume we are running openjdk >= 10 and use javac +# to generate the jni header file. +AM_JAVACFLAGS = -h . -LTTngUst.c: org_lttng_ust_LTTngUst.h +org_lttng_ust_LTTngUst.h: $(jarfile) +else +org_lttng_ust_LTTngUst.h: jni-header.stamp -$(LTTNG_JUST_DESTDIR)/LTTngUst.class: $(LTTNG_JUST_DESTDIR)/LTTngUst.java - $(JCC)/javac -d "$(builddir)" "$(LTTNG_JUST_DESTDIR)/LTTngUst.java" +jni-header.stamp: $(dist_noinst_JAVA) + $(JAVAH) -classpath $(srcdir) $(JAVAHFLAGS) org.lttng.ust.LTTngUst && \ + echo "JNI header generated" > jni-header.stamp +endif -org_lttng_ust_LTTngUst.h: $(LTTNG_JUST_DESTDIR)/LTTngUst.class - $(JCC)/javah org.lttng.ust.LTTngUst +all-local: org_lttng_ust_LTTngUst.h -liblttng-ust-java.jar: $(LTTNG_JUST_DESTDIR)/LTTngUst.class - $(JCC)/jar cf liblttng-ust-java.jar $(LTTNG_JUST_DESTDIR)/*.class +EXTRA_DIST = README -endif +CLEANFILES = $(jarfile) $(pkgpath)/*.class jni-header.stamp org_lttng_ust_LTTngUst.h