1 # SPDX-FileCopyrightText: 2023 EfficiOS, Inc
3 # SPDX-License-Identifier: LGPL-2.1-only
7 pkgpath = org/lttng/ust/agent
9 jarfile_version = 1.0.0
10 jarfile_manifest = $(srcdir)/Manifest.txt
11 jarfile_symlink = lttng-ust-agent-common.jar
12 jarfile = lttng-ust-agent-common-$(jarfile_version).jar
14 jardir = $(datadir)/java
15 jnioutdir = ../../jni/common
17 dist_noinst_JAVA = $(pkgpath)/AbstractLttngAgent.java \
18 $(pkgpath)/EventNamePattern.java \
19 $(pkgpath)/ILttngAgent.java \
20 $(pkgpath)/ILttngHandler.java \
21 $(pkgpath)/LTTngAgent.java \
22 $(pkgpath)/client/ILttngTcpClientListener.java \
23 $(pkgpath)/client/SessiondCommand.java \
24 $(pkgpath)/client/LttngAgentResponse.java \
25 $(pkgpath)/client/LttngTcpSessiondClient.java \
26 $(pkgpath)/client/SessiondCommandHeader.java \
27 $(pkgpath)/client/SessiondDisableAppContextCommand.java \
28 $(pkgpath)/client/SessiondDisableEventCommand.java \
29 $(pkgpath)/client/SessiondEnableAppContextCommand.java \
30 $(pkgpath)/client/SessiondEnableEventCommand.java \
31 $(pkgpath)/client/SessiondListLoggersCommand.java \
32 $(pkgpath)/context/LttngContextApi.java \
33 $(pkgpath)/context/ContextInfoManager.java \
34 $(pkgpath)/context/ContextInfoSerializer.java \
35 $(pkgpath)/context/IContextInfoRetriever.java \
36 $(pkgpath)/filter/FilterChangeNotifier.java \
37 $(pkgpath)/filter/IFilterChangeListener.java \
38 $(pkgpath)/session/EventRule.java \
39 $(pkgpath)/session/LogLevelSelector.java \
40 $(pkgpath)/utils/LttngUstAgentLogger.java
45 $(jarfile_manifest).license
49 classes = $(pkgpath)/*.class \
50 $(pkgpath)/client/*.class \
51 $(pkgpath)/context/*.class \
52 $(pkgpath)/filter/*.class \
53 $(pkgpath)/session/*.class \
54 $(pkgpath)/utils/*.class
56 $(jarfile): classnoinst.stamp
57 $(JAR) cfm $(JARFLAGS) $@ $(jarfile_manifest) $(classes) && rm -f $(jarfile_symlink) && $(LN_S) $@ $(jarfile_symlink)
60 # If we don't have javah, assume we are running openjdk >= 10 and use javac
61 # to generate the jni header file.
62 AM_JAVACFLAGS = -h $(jnioutdir)
64 context-jni-header.stamp: $(dist_noinst_JAVA)
65 $(JAVAH) -classpath $(CLASSPATH):$(srcdir) -d $(jnioutdir) $(JAVAHFLAGS) org.lttng.ust.agent.context.LttngContextApi && \
66 echo "Context API JNI header generated" > context-jni-header.stamp
68 all-local: context-jni-header.stamp
72 cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink) && $(LN_S) $(jarfile) $(jarfile_symlink)
75 cd $(DESTDIR)/$(jardir) && rm -f $(jarfile_symlink)
79 $(pkgpath)/client/*.class \
80 $(pkgpath)/context/*.class \
81 $(pkgpath)/filter/*.class \
82 $(pkgpath)/session/*.class \
83 $(pkgpath)/utils/*.class \
84 context-jni-header.stamp \
85 $(jnioutdir)/org_lttng_ust_agent_context_LttngContextApi.h