1 # SPDX-FileCopyrightText: 2023 EfficiOS, Inc
3 # SPDX-License-Identifier: LGPL-2.1-only
7 # Add the UST agent common jar to the classpath
8 AM_JAVACFLAGS = -classpath $(CLASSPATH):$(builddir)/../lttng-ust-agent-common/lttng-ust-agent-common.jar
10 # Process the log4j2 annotations of our custom appender
11 AM_JAVACFLAGS += -processor org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
13 pkgpath = org/lttng/ust/agent/log4j2
15 jarfile_version = 1.0.0
16 jarfile_manifest = $(srcdir)/Manifest.txt
17 jarfile_symlink = lttng-ust-agent-log4j2.jar
18 jarfile = lttng-ust-agent-log4j2-$(jarfile_version).jar
20 jardir = $(datadir)/java
22 log4jjniout = ../../jni/log4j
25 $(pkgpath)/LttngLog4j2Agent.java \
26 $(pkgpath)/LttngLog4j2Api.java \
27 $(pkgpath)/LttngLogAppender.java
29 dist_noinst_DATA = $(jarfile_manifest)
33 classes = $(pkgpath)/*.class
35 $(jarfile): classnoinst.stamp
36 $(JAR) cfm $(JARFLAGS) $@ $(jarfile_manifest) META-INF $(classes) && rm -f $(jarfile_symlink) && $(LN_S) $@ $(jarfile_symlink)
39 # If we don't have javah, assume we are running openjdk >= 10 and use javac
40 # to generate the jni header file.
41 AM_JAVACFLAGS += -h $(log4jjniout)
43 log4j-jni-header.stamp: $(dist_noinst_JAVA)
44 $(JAVAH) -classpath $(CLASSPATH):$(srcdir) -d $(log4jjniout) $(JAVAHFLAGS) org.lttng.ust.agent.log4j2.LttngLog4j2Api && \
45 echo "Log4j JNI header generated" > log4j-jni-header.stamp
47 all-local: log4j-jni-header.stamp
51 cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink) && $(LN_S) $(jarfile) $(jarfile_symlink)
54 cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink)
61 log4j-jni-header.stamp \
62 $(log4jjniout)/org_lttng_ust_agent_log4j2_LttngLog4j2Api.h