11449Stomee# 21449Stomee# CDDL HEADER START 31449Stomee# 41449Stomee# The contents of this file are subject to the terms of the 51449Stomee# Common Development and Distribution License (the "License"). 61449Stomee# You may not use this file except in compliance with the License. 71449Stomee# 81449Stomee# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 91449Stomee# or http://www.opensolaris.org/os/licensing. 101449Stomee# See the License for the specific language governing permissions 111449Stomee# and limitations under the License. 121449Stomee# 131449Stomee# When distributing Covered Code, include this CDDL HEADER in each 141449Stomee# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 151449Stomee# If applicable, add the following below this CDDL HEADER, with the 161449Stomee# fields enclosed by brackets "[]" replaced with your own identifying 171449Stomee# information: Portions Copyright [yyyy] [name of copyright owner] 181449Stomee# 191449Stomee# CDDL HEADER END 201449Stomee# 211449Stomee 221449Stomee# 23*6136Stomee# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 241449Stomee# Use is subject to license terms. 251449Stomee# 261449Stomee# ident "%Z%%M% %I% %E% SMI" 271449Stomee# 281449Stomee 291449Stomeeinclude $(SRC)/Makefile.master 301449Stomee 311449Stomee# The Java DTrace API package 321449Stomee 331449StomeePKGPATH=org/opensolaris/os/dtrace 341449StomeePKGNAME=org.opensolaris.os.dtrace 351449Stomee 361449Stomee# The Java DTrace API directories 371449Stomee 381449StomeeAPIDIR=$(SRC)/lib/libdtrace_jni/java 391449StomeeCLASSES=$(APIDIR)/classes 401449StomeeJNI=$(APIDIR)/native 411449StomeeJARS=$(APIDIR)/lib 421449StomeeDOCS=$(APIDIR)/docs 431449StomeeDOCAPI=$(DOCS)/api 441449StomeeDOCEXAMPLES=$(DOCS)/examples 451449StomeeDOCHTML=$(DOCS)/html 461449StomeeDOCIMAGES=$(DOCS)/images 471449StomeeMANIFEST=$(APIDIR)/manifest 481449StomeeAPIJAVASRC=$(APIDIR)/src 491449Stomee 501449Stomee# Java DTrace API jar file, its ultimate destination, and packaging details 511449StomeeAPIJAR=dtrace.jar 521449StomeeJARDESTDIR=$(ROOT)/usr/share/lib/java 531449StomeeINSJARS=$(JARDESTDIR)/$(APIJAR) 541449Stomee# javadoc 551449StomeeDOCDESTDIR=$(ROOT)/usr/share/lib/java/javadoc/dtrace 561449StomeeDOCAPIDESTDIR=$(DOCDESTDIR)/api 571449StomeeDOCEXAMPLESDESTDIR=$(DOCDESTDIR)/examples 581449StomeeDOCHTMLDESTDIR=$(DOCDESTDIR)/html 591449StomeeDOCIMAGESDESTDIR=$(DOCDESTDIR)/images 601449Stomee 611449Stomee$(JARDESTDIR)/%: $(JARS)/% 621449Stomee $(INS.file) 631449Stomee 641449Stomee$(DOCEXAMPLESDESTDIR)/%: $(DOCEXAMPLES)/% 651449Stomee $(INS.file) 661449Stomee 671449Stomee$(DOCHTMLDESTDIR)/%: $(DOCHTML)/% 681449Stomee $(INS.file) 691449Stomee 701449Stomee$(DOCIMAGESDESTDIR)/%: $(DOCIMAGES)/% 711449Stomee $(INS.file) 721449Stomee 731449Stomee# Manifest files 741449StomeeAPIMANI= $(MANIFEST)/dtrace.mf 751449StomeeMANIFESTS= $(APIMANI) 761449Stomee 771449Stomee# Controlled CLASSPATH for making 781449StomeeAPICLASSPATH=$(CLASSES):$(APIJAVASRC) 791449Stomee 801449Stomee# javac flags 811449StomeeJFLAGS= -g -d $(CLASSES) -sourcepath $(APICLASSPATH) -deprecation 823396StomeeJFLAGS += -target 1.5 83*6136StomeeJFLAGS += -Xlint 841449Stomee 851449Stomee# The default make rule for Java files 861449StomeeCOMPILE.java=$(JAVAC) $(JFLAGS) 871449Stomee 881449Stomee$(CLASSES)/$(PKGPATH)/%.class: $(APIJAVASRC)/$(PKGPATH)/%.java 891449Stomee $(COMPILE.java) $< 901449Stomee 911449Stomee# javah generated headers 921449StomeeAPIHDR= LocalConsumer.h 931449StomeeJNIHDRS=$(JNI)/$(APIHDRS) 941449Stomee 951449Stomee# API classes with native methods 961449StomeeJNI_CLASSNAMES=\ 971449Stomee LocalConsumer 981449Stomee 991449StomeeJNI_CLASSES=${JNI_CLASSNAMES:%=%.class} 1001449StomeeDTRACE_JNI_CLASSES=${JNI_CLASSES:%=$(CLASSES)/$(PKGPATH)/%} 1011449StomeeJNI_FULL_CLASSNAMES=${JNI_CLASSNAMES:%=$(PKGNAME).%} 1021449Stomee 1031449Stomee# All API classes 1041449StomeeAPI_CLASSNAMES=\ 1051449Stomee AbstractAggregationValue \ 1061449Stomee Aggregate \ 1071449Stomee AggregateSpec \ 1081449Stomee Aggregation \ 1091449Stomee AggregationRecord \ 1101449Stomee AggregationValue \ 1111449Stomee AvgValue \ 1121449Stomee Consumer \ 1131449Stomee ConsumerAdapter \ 1141449Stomee ConsumerEvent \ 1151449Stomee ConsumerException \ 1161449Stomee ConsumerListener \ 1171449Stomee CountValue \ 1181449Stomee DTraceException \ 1191449Stomee DataEvent \ 1201449Stomee Distribution \ 1211449Stomee Drop \ 1221449Stomee DropEvent \ 1231449Stomee Error \ 1241449Stomee ErrorEvent \ 1251449Stomee ExceptionHandler \ 1261449Stomee ExitRecord \ 1271449Stomee Flow \ 1281449Stomee InterfaceAttributes \ 1291449Stomee KernelStackRecord \ 1302777Stomee KernelSymbolRecord \ 1311449Stomee LinearDistribution \ 1321449Stomee LocalConsumer \ 1331449Stomee LogDistribution \ 1341449Stomee MaxValue \ 1351449Stomee MinValue \ 1361449Stomee NativeException \ 1371449Stomee Option \ 1381449Stomee PrintaRecord \ 1391449Stomee PrintfRecord \ 1401449Stomee Probe \ 1411449Stomee ProbeData \ 1421449Stomee ProbeDescription \ 1431449Stomee ProbeInfo \ 1441449Stomee ProcessEvent \ 1451449Stomee ProcessState \ 1461449Stomee Program \ 1471449Stomee ProgramInfo \ 1481449Stomee Record \ 1491449Stomee ResourceLimitException \ 1501449Stomee ScalarRecord \ 1511449Stomee StackFrame \ 1521449Stomee StackValueRecord \ 153*6136Stomee StddevValue \ 1541449Stomee SumValue \ 1552777Stomee SymbolValueRecord \ 1561449Stomee Tuple \ 1571449Stomee UserStackRecord \ 1582777Stomee UserSymbolRecord \ 1591449Stomee Utility \ 1601449Stomee ValueRecord 1611449Stomee 1621449StomeeAPI_CLASSES=${API_CLASSNAMES:%=%.class} 1631449StomeeDTRACE_API_CLASSES=${API_CLASSES:%=$(CLASSES)/$(PKGPATH)/%} 1641449Stomee 1651449Stomee 1661449Stomeeall: $(CLASSES) $(DTRACE_API_CLASSES) $(JNI)/$(APIHDR) 1671449Stomee 1681449Stomeeclean: 1691449Stomee -$(RM) $(CLASSES)/$(PKGPATH)/*.class 1701449Stomee -$(RM) $(JNI)/*.h 1711449Stomee -$(RM) -r $(DOCAPI) 1721449Stomee 1731449Stomeeclobber: clean 1741449Stomee -$(RM) $(JARS)/*.jar 1751449Stomee 1761449Stomee# Make the class dir, if it doesn't exist 1771449Stomee$(CLASSES): 1781449Stomee -@mkdir -p $@ 1791449Stomee 1801449Stomee# Make the directory for javah-generated headers, if it doesn't exist 1811449Stomee$(JNI): 1821449Stomee -@mkdir -p $@ 1831449Stomee 1841449Stomee$(JNI)/$(APIHDR): $(JNI) $(DTRACE_JNI_CLASSES) 1851449Stomee $(JAVAH) -o $@ -classpath $(CLASSES) $(JNI_FULL_CLASSNAMES) 1861449Stomee -@touch $@ 1871449Stomee 1881449Stomee# Rule for installing API javadoc. 1891449Stomee$(DOCAPIDESTDIR)/index.html: $(DTRACE_API_CLASSES) 1901449Stomee -@mkdir -p $(DOCAPIDESTDIR) 1911449Stomee -$(RM) -r $(DOCAPIDESTDIR)/* 1921513Stomee cd $(APIJAVASRC); umask 022; \ 1931513Stomee $(JAVADOC) -protected -use -notimestamp \ 1941449Stomee -classpath $(APICLASSPATH) -d $(DOCAPIDESTDIR) \ 1951449Stomee $(PKGNAME) 1961449Stomee 1971449Stomee$(CLASSES)/$(PKGPATH): 1981449Stomee $(INS.dir) 1991449Stomee 2001449Stomee$(JARS)/$(APIJAR): $(DTRACE_API_CLASSES) $(APIMANI) 2011449Stomee -@mkdir -p $(JARS) 2021449Stomee $(JAR) cfm $@ $(APIMANI) -C $(CLASSES) . 2031449Stomee 2041449Stomee$(JARDESTDIR): 2051449Stomee $(INS.dir) 2061449Stomee 2071449Stomee$(DOCDESTDIR): 2081449Stomee $(INS.dir) 2091449Stomee 2101449Stomee$(DOCAPIDESTDIR): 2111449Stomee $(INS.dir) 2121449Stomee 2131449Stomee$(DOCEXAMPLESDESTDIR): 2141449Stomee $(INS.dir) 2151449Stomee 2161449Stomee$(DOCHTMLDESTDIR): 2171449Stomee $(INS.dir) 2181449Stomee 2191449Stomee$(DOCIMAGESDESTDIR): 2201449Stomee $(INS.dir) 2211449Stomee 2221449Stomeeinstall: all $(JARDESTDIR) $(INSJARS) $(DOCDESTDIR) \ 2231449Stomee $(DOCAPIDESTDIR) \ 2241449Stomee $(DOCAPIDESTDIR)/index.html \ 2251449Stomee $(DOCEXAMPLESDESTDIR) \ 2261449Stomee $(DOCEXAMPLESDESTDIR)/TestAPI.java \ 2271449Stomee $(DOCEXAMPLESDESTDIR)/TestAPI2.java \ 2281449Stomee $(DOCEXAMPLESDESTDIR)/TestTarget.java \ 2291449Stomee $(DOCEXAMPLESDESTDIR)/hello.d \ 2301449Stomee $(DOCEXAMPLESDESTDIR)/intrstat.d \ 2311449Stomee $(DOCEXAMPLESDESTDIR)/syscall.d \ 2321449Stomee $(DOCEXAMPLESDESTDIR)/target.d \ 2331449Stomee $(DOCHTMLDESTDIR) \ 2341449Stomee $(DOCHTMLDESTDIR)/JavaDTraceAPI.html \ 2351449Stomee $(DOCHTMLDESTDIR)/fast.html \ 2361449Stomee $(DOCIMAGESDESTDIR) \ 2371449Stomee $(DOCIMAGESDESTDIR)/JavaDTraceAPI.gif 2381449Stomee 2391449Stomee# empty targets for top-level building compatability 2401449Stomee 2411449Stomeeinstall_h lint: 2421449Stomee 2431449Stomee# create API javadoc 2441449Stomee 2451449Stomeedoc: 2461449Stomee -@mkdir -p $(DOCAPI) 2471513Stomee cd $(APIJAVASRC); umask 022; \ 2481513Stomee $(JAVADOC) -protected -use -notimestamp \ 2491449Stomee -classpath $(APICLASSPATH) -d $(DOCAPI) \ 2501449Stomee $(PKGNAME) 251