xref: /illumos-gate/usr/src/cmd/dtrace/test/cmd/jdtrace/Makefile (revision 23b5c241225a8ade2b6b9f06ebb891ee459e3b02)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
22#
23# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26#ident	"%Z%%M%	%I%	%E% SMI"
27
28include $(SRC)/Makefile.master
29
30ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt
31ROOTBIN = $(ROOTOPTPKG)/bin
32ROOTLIB = $(ROOTOPTPKG)/lib
33ROOTLIBJAVA = $(ROOTLIB)/java
34
35# Use the proto dtrace.jar if it exists, otherwise use whatever is
36# installed on the system. It should be possible to build
37# usr/src/cmd/dtrace/test independently, even if only on systems that
38# have a compatible dtrace.jar installed.
39DTRACE_JAR=usr/share/lib/java/dtrace.jar
40PROTO_DTRACE_JAR=$(ROOT)/$(DTRACE_JAR)
41INSTALLED_DTRACE_JAR=/$(DTRACE_JAR)
42CLASSPATH=$(PROTO_DTRACE_JAR):$(INSTALLED_DTRACE_JAR)
43DTEST_DIR=$(SRC)/cmd/dtrace/test
44SRCDIR=src
45CLASSDIR=classes
46LIBDIR=lib
47MANIFESTDIR=manifest
48MANIFEST=$(MANIFESTDIR)/jdtrace.jar-manifest
49JDTRACE_JAR=$(LIBDIR)/jdtrace.jar
50
51JAR=$(ROOTLIBJAVA)/jdtrace.jar
52CMD = $(ROOTBIN)/jdtrace
53XLIST = $(ROOTBIN)/exception.lst
54
55$(CMD) := FILEMODE = 0555
56
57default: $(JDTRACE_JAR) jdtrace.exe
58
59clean:
60	rm -f $(CLASSDIR)/*.class
61
62clobber: clean
63	rm -f $(JDTRACE_JAR)
64	rm -f jdtrace.exe
65
66all: default
67
68lint:
69
70install: all $(JAR) $(CMD) $(XLIST)
71
72jdtrace.exe: $(SRCDIR)/jdtrace.c
73	cc -I/usr/include $(SRCDIR)/jdtrace.c -o jdtrace.exe
74
75$(JDTRACE_JAR): $(SRCDIR)/JDTrace.java $(SRCDIR)/Getopt.java
76	mkdir -p $(CLASSDIR)
77	mkdir -p $(LIBDIR)
78	javac -cp $(CLASSPATH) -d $(CLASSDIR) $(SRCDIR)/*.java
79	jar -cmf $(MANIFEST) $(JDTRACE_JAR) -C $(CLASSDIR) .
80
81$(JAR): $(ROOTLIBJAVA)
82
83$(CMD): $(ROOTBIN)
84
85$(XLIST): $(ROOTBIN)
86
87$(ROOTBIN):
88	$(INS.dir)
89
90$(ROOTLIB):
91	$(INS.dir)
92
93$(ROOTLIBJAVA): $(ROOTLIB)
94	$(INS.dir)
95
96$(ROOTLIBJAVA)/%.jar: $(LIBDIR)/%.jar
97	$(INS.file)
98
99$(ROOTBIN)/%.lst: %.lst
100	$(INS.file)
101
102$(ROOTBIN)/%: %.exe
103	$(INS.rename)
104