| 1 | # SPDX-License-Identifier: LGPL-2.1-only |
| 2 | |
| 3 | JAVAROOT = . |
| 4 | |
| 5 | # Add the UST agent common jar to the classpath |
| 6 | AM_JAVACFLAGS = -classpath $(CLASSPATH):$(builddir)/../lttng-ust-agent-common/lttng-ust-agent-common.jar |
| 7 | |
| 8 | # Process the log4j2 annotations of our custom appender |
| 9 | AM_JAVACFLAGS += -processor org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor |
| 10 | |
| 11 | pkgpath = org/lttng/ust/agent/log4j2 |
| 12 | |
| 13 | jarfile_version = 1.0.0 |
| 14 | jarfile_manifest = $(srcdir)/Manifest.txt |
| 15 | jarfile_symlink = lttng-ust-agent-log4j2.jar |
| 16 | jarfile = lttng-ust-agent-log4j2-$(jarfile_version).jar |
| 17 | |
| 18 | jardir = $(datadir)/java |
| 19 | |
| 20 | log4jjniout = ../../jni/log4j |
| 21 | |
| 22 | dist_noinst_JAVA = \ |
| 23 | $(pkgpath)/LttngLog4j2Agent.java \ |
| 24 | $(pkgpath)/LttngLog4j2Api.java \ |
| 25 | $(pkgpath)/LttngLogAppender.java |
| 26 | |
| 27 | dist_noinst_DATA = $(jarfile_manifest) |
| 28 | |
| 29 | jar_DATA = $(jarfile) |
| 30 | |
| 31 | classes = $(pkgpath)/*.class |
| 32 | |
| 33 | $(jarfile): classnoinst.stamp |
| 34 | $(JAR) cfm $(JARFLAGS) $@ $(jarfile_manifest) META-INF $(classes) && rm -f $(jarfile_symlink) && $(LN_S) $@ $(jarfile_symlink) |
| 35 | |
| 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 $(log4jjniout) |
| 40 | else |
| 41 | log4j-jni-header.stamp: $(dist_noinst_JAVA) |
| 42 | $(JAVAH) -classpath $(CLASSPATH):$(srcdir) -d $(log4jjniout) $(JAVAHFLAGS) org.lttng.ust.agent.log4j2.LttngLog4j2Api && \ |
| 43 | echo "Log4j JNI header generated" > log4j-jni-header.stamp |
| 44 | |
| 45 | all-local: log4j-jni-header.stamp |
| 46 | endif |
| 47 | |
| 48 | install-data-hook: |
| 49 | cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink) && $(LN_S) $(jarfile) $(jarfile_symlink) |
| 50 | |
| 51 | uninstall-hook: |
| 52 | cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink) |
| 53 | |
| 54 | clean-local: |
| 55 | rm -rf META-INF |
| 56 | |
| 57 | CLEANFILES = *.jar \ |
| 58 | $(classes) \ |
| 59 | log4j-jni-header.stamp \ |
| 60 | $(log4jjniout)/org_lttng_ust_agent_log4j2_LttngLog4j2Api.h |