fix: 'make dist' without javah
[lttng-ust.git] / src / lib / lttng-ust-java / Makefile.am
... / ...
CommitLineData
1# SPDX-License-Identifier: LGPL-2.1-only
2
3JAVAROOT = .build
4jarfile = liblttng-ust-java.jar
5jardir = $(datadir)/java
6pkgpath = org/lttng/ust
7
8dist_noinst_JAVA = $(pkgpath)/LTTngUst.java
9jar_DATA = $(jarfile)
10
11AM_CPPFLAGS += -I$(builddir) -I$(srcdir) $(JNI_CPPFLAGS)
12
13lib_LTLIBRARIES = liblttng-ust-java.la
14liblttng_ust_java_la_SOURCES = LTTngUst.c lttng_ust_java.h
15
16# Generated by javac / javah
17nodist_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.
21LTTngUst.lo: org_lttng_ust_LTTngUst.h
22
23liblttng_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
34if !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.
37AM_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.
41org_lttng_ust_LTTngUst.h: classnoinst.stamp
42else
43org_lttng_ust_LTTngUst.h:
44 $(JAVAH) -classpath $(srcdir) $(JAVAHFLAGS) org.lttng.ust.LTTngUst
45endif
46
47EXTRA_DIST = README
48
49CLEANFILES = $(jarfile) org_lttng_ust_LTTngUst.h
50
51clean-local:
52 -rm -rf $(JAVAROOT)
This page took 0.022341 seconds and 4 git commands to generate.