| 1 | # SPDX-License-Identifier: LGPL-2.1-only |
| 2 | |
| 3 | JAVAROOT = . |
| 4 | AM_JAVACFLAGS = -classpath $(CLASSPATH):$(builddir)/../lttng-ust-agent-common/lttng-ust-agent-common.jar |
| 5 | |
| 6 | pkgpath = org/lttng/ust/agent/jul |
| 7 | |
| 8 | jarfile_version = 1.0.0 |
| 9 | jarfile_manifest = $(srcdir)/Manifest.txt |
| 10 | jarfile_symlink = lttng-ust-agent-jul.jar |
| 11 | jarfile = lttng-ust-agent-jul-$(jarfile_version).jar |
| 12 | |
| 13 | jardir = $(datadir)/java |
| 14 | |
| 15 | juljniout = ../../jni/jul |
| 16 | |
| 17 | dist_noinst_JAVA = $(pkgpath)/LttngJulAgent.java \ |
| 18 | $(pkgpath)/LttngJulApi.java \ |
| 19 | $(pkgpath)/LttngLogHandler.java |
| 20 | |
| 21 | dist_noinst_DATA = $(jarfile_manifest) |
| 22 | |
| 23 | jar_DATA = $(jarfile) |
| 24 | |
| 25 | stamp = jul-jni-header.stamp |
| 26 | classes = $(pkgpath)/*.class |
| 27 | |
| 28 | $(jarfile): classnoinst.stamp |
| 29 | $(JAR) cfm $(JARFLAGS) $@ $(jarfile_manifest) $(classes) && rm -f $(jarfile_symlink) && $(LN_S) $@ $(jarfile_symlink) |
| 30 | |
| 31 | if !HAVE_JAVAH |
| 32 | # If we don't have javah, assume we are running openjdk >= 10 and use javac |
| 33 | # to generate the jni header file. |
| 34 | AM_JAVACFLAGS += -h $(juljniout) |
| 35 | else |
| 36 | jul-jni-header.stamp: $(dist_noinst_JAVA) |
| 37 | $(JAVAH) -classpath $(CLASSPATH):$(srcdir) -d $(juljniout) $(JAVAHFLAGS) org.lttng.ust.agent.jul.LttngJulApi && \ |
| 38 | echo "JUL JNI header generated" > jul-jni-header.stamp |
| 39 | |
| 40 | all-local: $(stamp) |
| 41 | endif |
| 42 | |
| 43 | install-data-hook: |
| 44 | cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink) && $(LN_S) $(jarfile) $(jarfile_symlink) |
| 45 | |
| 46 | uninstall-hook: |
| 47 | cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink) |
| 48 | |
| 49 | CLEANFILES = *.jar \ |
| 50 | $(pkgpath)/*.class \ |
| 51 | jul-jni-header.stamp \ |
| 52 | $(juljniout)/org_lttng_ust_agent_jul_LttngJulApi.h |