fix: 'make dist' without javah
[lttng-ust.git] / src / lib / lttng-ust-java / Makefile.am
1 # SPDX-License-Identifier: LGPL-2.1-only
2
3 JAVAROOT = .build
4 jarfile = liblttng-ust-java.jar
5 jardir = $(datadir)/java
6 pkgpath = org/lttng/ust
7
8 dist_noinst_JAVA = $(pkgpath)/LTTngUst.java
9 jar_DATA = $(jarfile)
10
11 AM_CPPFLAGS += -I$(builddir) -I$(srcdir) $(JNI_CPPFLAGS)
12
13 lib_LTLIBRARIES = liblttng-ust-java.la
14 liblttng_ust_java_la_SOURCES = LTTngUst.c lttng_ust_java.h
15
16 # Generated by javac / javah
17 nodist_liblttng_ust_java_la_SOURCES = org_lttng_ust_LTTngUst.h
18
19 # Explicit dependency to ensure the header is generated before the
20 # C file is built.
21 LTTngUst.lo: org_lttng_ust_LTTngUst.h
22
23 liblttng_ust_java_la_LIBADD = -lc \
24 $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la
25
26 $(jarfile): classnoinst.stamp
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)
33
34 if !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.
37 AM_JAVACFLAGS = -h .
38
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
42 else
43 org_lttng_ust_LTTngUst.h:
44 $(JAVAH) -classpath $(srcdir) $(JAVAHFLAGS) org.lttng.ust.LTTngUst
45 endif
46
47 EXTRA_DIST = README
48
49 CLEANFILES = $(jarfile) org_lttng_ust_LTTngUst.h
50
51 clean-local:
52 -rm -rf $(JAVAROOT)
This page took 0.030161 seconds and 4 git commands to generate.