Fix: Don't override user variables within the build system
[lttng-ust.git] / liblttng-ust-java / Makefile.am
index 4c998dcbba42ac72006d18afc59331b86f848be8..399b62cac1d06cb322d3b549c9998523d72027fe 100644 (file)
@@ -1,29 +1,28 @@
-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$(top_srcdir)/include -I$(top_builddir)/include $(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 = LTTngUst.java
-liblttng_ust_java_la_LIBADD = -lc -L$(top_builddir)/liblttng-ust/.libs -llttng-ust
-
-all: LTTngUst.class org_lttng_ust_LTTngUst.h liblttng-ust-java.jar
 
-clean-local:
-       rm org_lttng_ust_LTTngUst.h
-       rm liblttng-ust-java.jar
-       rm -rf org/
+liblttng_ust_java_la_LIBADD = -lc -L$(top_builddir)/liblttng-ust/.libs -llttng-ust
 
-LTTngUst.c: org_lttng_ust_LTTngUst.h
+$(jarfile): classnoinst.stamp
+       $(JAR) cf $(JARFLAGS) $@ $(pkgpath)/*.class
 
-LTTngUst.class: LTTngUst.java
-       javac -d "$(builddir)" "$(srcdir)/LTTngUst.java"
+org_lttng_ust_LTTngUst.h: jni-header.stamp
 
-org_lttng_ust_LTTngUst.h: LTTngUst.class
-       javah org.lttng.ust.LTTngUst
+jni-header.stamp: $(dist_noinst_JAVA)
+       $(JAVAH) -classpath $(srcdir) $(JAVAHFLAGS) org.lttng.ust.LTTngUst && \
+       echo "JNI header generated" > jni-header.stamp
 
-liblttng-ust-java.jar: LTTngUst.class
-       jar cf liblttng-ust-java.jar org/*
+all-local: org_lttng_ust_LTTngUst.h
 
-endif
+CLEANFILES = $(jarfile) $(pkgpath)/*.class jni-header.stamp org_lttng_ust_LTTngUst.h
This page took 0.025069 seconds and 4 git commands to generate.