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