xref: /illumos-gate/usr/src/lib/libdtrace_jni/java/Makefile (revision 273d774d1d685415fd99d31224bdae55e7cfb793)
1fb3fb4f3Stomee#
2fb3fb4f3Stomee# CDDL HEADER START
3fb3fb4f3Stomee#
4fb3fb4f3Stomee# The contents of this file are subject to the terms of the
5fb3fb4f3Stomee# Common Development and Distribution License (the "License").
6fb3fb4f3Stomee# You may not use this file except in compliance with the License.
7fb3fb4f3Stomee#
8fb3fb4f3Stomee# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9fb3fb4f3Stomee# or http://www.opensolaris.org/os/licensing.
10fb3fb4f3Stomee# See the License for the specific language governing permissions
11fb3fb4f3Stomee# and limitations under the License.
12fb3fb4f3Stomee#
13fb3fb4f3Stomee# When distributing Covered Code, include this CDDL HEADER in each
14fb3fb4f3Stomee# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15fb3fb4f3Stomee# If applicable, add the following below this CDDL HEADER, with the
16fb3fb4f3Stomee# fields enclosed by brackets "[]" replaced with your own identifying
17fb3fb4f3Stomee# information: Portions Copyright [yyyy] [name of copyright owner]
18fb3fb4f3Stomee#
19fb3fb4f3Stomee# CDDL HEADER END
20fb3fb4f3Stomee#
21fb3fb4f3Stomee
22fb3fb4f3Stomee#
23e77b06d2Stomee# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24fb3fb4f3Stomee# Use is subject to license terms.
25fb3fb4f3Stomee#
2651396a8eSPeter Tribble# Copyright 2020 Peter Tribble
2751396a8eSPeter Tribble#
28fb3fb4f3Stomee
29fb3fb4f3Stomeeinclude $(SRC)/Makefile.master
30fb3fb4f3Stomee
31fb3fb4f3Stomee# The Java DTrace API package
32fb3fb4f3Stomee
33fb3fb4f3StomeePKGPATH=org/opensolaris/os/dtrace
34fb3fb4f3StomeePKGNAME=org.opensolaris.os.dtrace
35fb3fb4f3Stomee
36fb3fb4f3Stomee# The Java DTrace API directories
37fb3fb4f3Stomee
38fb3fb4f3StomeeAPIDIR=$(SRC)/lib/libdtrace_jni/java
39fb3fb4f3StomeeCLASSES=$(APIDIR)/classes
40fb3fb4f3StomeeJARS=$(APIDIR)/lib
41*273d774dSPeter Tribble# the files in the docs directory go with the api javadoc
42*273d774dSPeter Tribble# which can be generated using the doc target
43*273d774dSPeter Tribble# the documentation is not built or packaged by default
44fb3fb4f3StomeeDOCS=$(APIDIR)/docs
45fb3fb4f3StomeeDOCAPI=$(DOCS)/api
46fb3fb4f3StomeeDOCEXAMPLES=$(DOCS)/examples
47fb3fb4f3StomeeDOCHTML=$(DOCS)/html
48fb3fb4f3StomeeDOCIMAGES=$(DOCS)/images
49fb3fb4f3StomeeMANIFEST=$(APIDIR)/manifest
50fb3fb4f3StomeeAPIJAVASRC=$(APIDIR)/src
51fb3fb4f3Stomee
52fb3fb4f3Stomee# Java DTrace API jar file, its ultimate destination, and packaging details
53fb3fb4f3StomeeAPIJAR=dtrace.jar
54fb3fb4f3StomeeJARDESTDIR=$(ROOT)/usr/share/lib/java
55fb3fb4f3StomeeINSJARS=$(JARDESTDIR)/$(APIJAR)
56fb3fb4f3Stomee
57fb3fb4f3Stomee$(JARDESTDIR)/%: $(JARS)/%
58fb3fb4f3Stomee	$(INS.file)
59fb3fb4f3Stomee
60fb3fb4f3Stomee# Manifest files
61fb3fb4f3StomeeAPIMANI= $(MANIFEST)/dtrace.mf
62fb3fb4f3StomeeMANIFESTS= $(APIMANI)
63fb3fb4f3Stomee
64fb3fb4f3Stomee# Controlled CLASSPATH for making
65fb3fb4f3StomeeAPICLASSPATH=$(CLASSES):$(APIJAVASRC)
66fb3fb4f3Stomee
67fb3fb4f3Stomee# javac flags
684d0eb50eSRichard PALOJFLAGS= -g -d $(CLASSES) -sourcepath $(APICLASSPATH)
6951396a8eSPeter TribbleJFLAGS += -source 7 -target 7
7051396a8eSPeter TribbleJFLAGS += -Xlint:all,-deprecation,-rawtypes,-options
71fb3fb4f3Stomee
72fb3fb4f3Stomee# The default make rule for Java files
73fb3fb4f3StomeeCOMPILE.java=$(JAVAC) $(JFLAGS)
74fb3fb4f3Stomee
75fb3fb4f3Stomee$(CLASSES)/$(PKGPATH)/%.class:	$(APIJAVASRC)/$(PKGPATH)/%.java
76fb3fb4f3Stomee				$(COMPILE.java) $<
77fb3fb4f3Stomee
78fb3fb4f3Stomee# All API classes
79fb3fb4f3StomeeAPI_CLASSNAMES=\
80fb3fb4f3Stomee	AbstractAggregationValue \
81fb3fb4f3Stomee	Aggregate \
82fb3fb4f3Stomee	AggregateSpec \
83fb3fb4f3Stomee	Aggregation \
84fb3fb4f3Stomee	AggregationRecord \
85fb3fb4f3Stomee	AggregationValue \
86fb3fb4f3Stomee	AvgValue \
87fb3fb4f3Stomee	Consumer \
88fb3fb4f3Stomee	ConsumerAdapter \
89fb3fb4f3Stomee	ConsumerEvent \
90fb3fb4f3Stomee	ConsumerException \
91fb3fb4f3Stomee	ConsumerListener \
92fb3fb4f3Stomee	CountValue \
93fb3fb4f3Stomee	DTraceException \
94fb3fb4f3Stomee	DataEvent \
95fb3fb4f3Stomee	Distribution \
96fb3fb4f3Stomee	Drop \
97fb3fb4f3Stomee	DropEvent \
98fb3fb4f3Stomee	Error \
99fb3fb4f3Stomee	ErrorEvent \
100fb3fb4f3Stomee	ExceptionHandler \
101fb3fb4f3Stomee	ExitRecord \
102fb3fb4f3Stomee	Flow \
103fb3fb4f3Stomee	InterfaceAttributes \
104fb3fb4f3Stomee	KernelStackRecord \
105127bbe13Stomee	KernelSymbolRecord \
106fb3fb4f3Stomee	LinearDistribution \
107fb3fb4f3Stomee	LocalConsumer \
108fb3fb4f3Stomee	LogDistribution \
109ae94d716SRichard Lowe	LogLinearDistribution \
110fb3fb4f3Stomee	MaxValue \
111fb3fb4f3Stomee	MinValue \
112fb3fb4f3Stomee	NativeException \
113fb3fb4f3Stomee	Option \
114fb3fb4f3Stomee	PrintaRecord \
115fb3fb4f3Stomee	PrintfRecord \
116fb3fb4f3Stomee	Probe \
117fb3fb4f3Stomee	ProbeData \
118fb3fb4f3Stomee	ProbeDescription \
119fb3fb4f3Stomee	ProbeInfo \
120fb3fb4f3Stomee	ProcessEvent \
121fb3fb4f3Stomee	ProcessState \
122fb3fb4f3Stomee	Program \
123fb3fb4f3Stomee	ProgramInfo \
124fb3fb4f3Stomee	Record \
125fb3fb4f3Stomee	ResourceLimitException \
126fb3fb4f3Stomee	ScalarRecord \
127fb3fb4f3Stomee	StackFrame \
128fb3fb4f3Stomee	StackValueRecord \
129e77b06d2Stomee	StddevValue \
130fb3fb4f3Stomee	SumValue \
131127bbe13Stomee	SymbolValueRecord \
132fb3fb4f3Stomee	Tuple \
133fb3fb4f3Stomee	UserStackRecord \
134127bbe13Stomee	UserSymbolRecord \
135fb3fb4f3Stomee	Utility \
136fb3fb4f3Stomee	ValueRecord
137fb3fb4f3Stomee
138fb3fb4f3StomeeAPI_CLASSES=${API_CLASSNAMES:%=%.class}
139fb3fb4f3StomeeDTRACE_API_CLASSES=${API_CLASSES:%=$(CLASSES)/$(PKGPATH)/%}
140fb3fb4f3Stomee
141fb3fb4f3Stomee
14251396a8eSPeter Tribbleall:            $(CLASSES) $(DTRACE_API_CLASSES)
143fb3fb4f3Stomee
144fb3fb4f3Stomeeclean:
145fb3fb4f3Stomee		-$(RM) $(CLASSES)/$(PKGPATH)/*.class
146fb3fb4f3Stomee		-$(RM) -r $(DOCAPI)
147fb3fb4f3Stomee
148fb3fb4f3Stomeeclobber:	clean
149fb3fb4f3Stomee		-$(RM) $(JARS)/*.jar
150fb3fb4f3Stomee
151fb3fb4f3Stomee# Make the class dir, if it doesn't exist
152fb3fb4f3Stomee$(CLASSES):
153fb3fb4f3Stomee		-@mkdir -p $@
154fb3fb4f3Stomee
155fb3fb4f3Stomee$(CLASSES)/$(PKGPATH):
156fb3fb4f3Stomee		$(INS.dir)
157fb3fb4f3Stomee
158fb3fb4f3Stomee$(JARS)/$(APIJAR): $(DTRACE_API_CLASSES) $(APIMANI)
159fb3fb4f3Stomee		-@mkdir -p $(JARS)
160fb3fb4f3Stomee		$(JAR) cfm $@ $(APIMANI) -C $(CLASSES) .
161fb3fb4f3Stomee
162fb3fb4f3Stomee$(JARDESTDIR):
163fb3fb4f3Stomee		$(INS.dir)
164fb3fb4f3Stomee
165*273d774dSPeter Tribbleinstall:	all $(JARDESTDIR) $(INSJARS)
166fb3fb4f3Stomee
167fb3fb4f3Stomee# empty targets for top-level building compatability
168241c90a0SRichard Loweinstall_h:
169fb3fb4f3Stomee
170fb3fb4f3Stomee# create API javadoc
171fb3fb4f3Stomeedoc:
172fb3fb4f3Stomee		-@mkdir -p $(DOCAPI)
173cc01aecaStomee		cd $(APIJAVASRC); umask 022; \
174cc01aecaStomee		$(JAVADOC) -protected -use -notimestamp \
175fb3fb4f3Stomee		-classpath $(APICLASSPATH) -d $(DOCAPI) \
176fb3fb4f3Stomee		$(PKGNAME)
177