Commit | Line | Data |
---|---|---|
464c4756 MJ |
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 |