Commit | Line | Data |
---|---|---|
e03d7c66 MJ |
1 | # SPDX-FileCopyrightText: 2023 EfficiOS, Inc |
2 | # | |
464c4756 MJ |
3 | # SPDX-License-Identifier: LGPL-2.1-only |
4 | ||
5 | JAVAROOT = . | |
6 | ||
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 | |
9 | ||
10 | # Process the log4j2 annotations of our custom appender | |
11 | AM_JAVACFLAGS += -processor org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor | |
12 | ||
13 | pkgpath = org/lttng/ust/agent/log4j2 | |
14 | ||
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 | |
19 | ||
20 | jardir = $(datadir)/java | |
21 | ||
22 | log4jjniout = ../../jni/log4j | |
23 | ||
24 | dist_noinst_JAVA = \ | |
25 | $(pkgpath)/LttngLog4j2Agent.java \ | |
26 | $(pkgpath)/LttngLog4j2Api.java \ | |
27 | $(pkgpath)/LttngLogAppender.java | |
28 | ||
29 | dist_noinst_DATA = $(jarfile_manifest) | |
30 | ||
31 | jar_DATA = $(jarfile) | |
32 | ||
33 | classes = $(pkgpath)/*.class | |
34 | ||
35 | $(jarfile): classnoinst.stamp | |
36 | $(JAR) cfm $(JARFLAGS) $@ $(jarfile_manifest) META-INF $(classes) && rm -f $(jarfile_symlink) && $(LN_S) $@ $(jarfile_symlink) | |
37 | ||
38 | if !HAVE_JAVAH | |
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) | |
42 | else | |
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 | |
46 | ||
47 | all-local: log4j-jni-header.stamp | |
48 | endif | |
49 | ||
50 | install-data-hook: | |
51 | cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink) && $(LN_S) $(jarfile) $(jarfile_symlink) | |
52 | ||
53 | uninstall-hook: | |
54 | cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink) | |
55 | ||
56 | clean-local: | |
57 | rm -rf META-INF | |
58 | ||
59 | CLEANFILES = *.jar \ | |
60 | $(classes) \ | |
61 | log4j-jni-header.stamp \ | |
62 | $(log4jjniout)/org_lttng_ust_agent_log4j2_LttngLog4j2Api.h |