Commit | Line | Data |
---|---|---|
e03d7c66 MJ |
1 | # SPDX-FileCopyrightText: 2023 EfficiOS, Inc |
2 | # | |
c0c0989a MJ |
3 | # SPDX-License-Identifier: LGPL-2.1-only |
4 | ||
2d2d3871 | 5 | JAVAROOT = .build |
8d179959 CB |
6 | jarfile = liblttng-ust-java.jar |
7 | jardir = $(datadir)/java | |
8 | pkgpath = org/lttng/ust | |
378fa1c7 | 9 | |
8d179959 CB |
10 | dist_noinst_JAVA = $(pkgpath)/LTTngUst.java |
11 | jar_DATA = $(jarfile) | |
8d179959 | 12 | |
fb54defd | 13 | AM_CPPFLAGS += -I$(builddir) -I$(srcdir) $(JNI_CPPFLAGS) |
2d2d3871 | 14 | |
69400ac4 | 15 | lib_LTLIBRARIES = liblttng-ust-java.la |
ca7bd68c | 16 | liblttng_ust_java_la_SOURCES = LTTngUst.c lttng_ust_java.h |
2d2d3871 MJ |
17 | |
18 | # Generated by javac / javah | |
ca7bd68c | 19 | nodist_liblttng_ust_java_la_SOURCES = org_lttng_ust_LTTngUst.h |
d880b43f | 20 | |
2d2d3871 MJ |
21 | # Explicit dependency to ensure the header is generated before the |
22 | # C file is built. | |
23 | LTTngUst.lo: org_lttng_ust_LTTngUst.h | |
24 | ||
4350ff08 | 25 | liblttng_ust_java_la_LIBADD = -lc \ |
6339062a | 26 | $(top_builddir)/src/lib/lttng-ust/liblttng-ust.la |
378fa1c7 | 27 | |
8d179959 | 28 | $(jarfile): classnoinst.stamp |
2d2d3871 MJ |
29 | $(JAR) cf $(JARFLAGS) $@ -C $(JAVAROOT) $(pkgpath)/LTTngUst.class |
30 | ||
31 | # Ensure the javaroot directory is created before the Java class files are built. | |
32 | $(pkgpath)/LTTngUst.java: $(JAVAROOT) | |
33 | $(JAVAROOT): | |
34 | -test -d $(JAVAROOT) || mkdir $(JAVAROOT) | |
378fa1c7 | 35 | |
ca08b2bf MJ |
36 | if !HAVE_JAVAH |
37 | # If we don't have javah, assume we are running openjdk >= 10 and use javac | |
38 | # to generate the jni header file. | |
39 | AM_JAVACFLAGS = -h . | |
40 | ||
2d2d3871 MJ |
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 | |
ca08b2bf | 44 | else |
2d2d3871 MJ |
45 | org_lttng_ust_LTTngUst.h: |
46 | $(JAVAH) -classpath $(srcdir) $(JAVAHFLAGS) org.lttng.ust.LTTngUst | |
ca08b2bf | 47 | endif |
2b6f8df9 | 48 | |
71ca2509 | 49 | EXTRA_DIST = README.md |
e6e508c9 | 50 | |
2d2d3871 MJ |
51 | CLEANFILES = $(jarfile) org_lttng_ust_LTTngUst.h |
52 | ||
53 | clean-local: | |
54 | -rm -rf $(JAVAROOT) |