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 2008 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
25 #
26
27 #
28 # Copyright (c) 2012 by Delphix. All rights reserved.
29 # Copyright 2015 Nexenta Systems, Inc. All rights reserved.
30 # Copyright 2018 Joyent, Inc.
31 #
32
33 #
34 # WARNING: Do not include Makefile.ctf here. That will cause tests to
35 # break.
36 #
37
38 include $(SRC)/Makefile.master
39 include ../Makefile.com
40
41 SNOOPDIR = $(SRC)/cmd/cmd-inet/usr.sbin/snoop
42 SNOOPOBJS = nfs4_xdr.o
43 SNOOPSRCS = ${SNOOPOBJS:%.o=%.c}
44 CLOBBERFILES += nfs/$(SNOOPOBJS)
45
46 RPCSVCDIR = $(SRC)/head/rpcsvc
47 RPCSVCOBJS = nfs_prot.o
48 RPCSVCSRCS = ${RPCSVCOBJS:%o=%c}
49 CLOBBERFILES += nfs/$(RPCSVCOBJS) $(RPCSVCDIR)/$(RPCSVCSRCS)
50 CLOBBERFILES += usdt/forker.h usdt/lazyprobe.h
51
52 fasttrap/tst.fasttrap.exe := LDLIBS += -ldtrace
53 fasttrap/tst.stack.exe := LDLIBS += -ldtrace
54
55 sysevent/tst.post.exe := LDLIBS += -lsysevent
56 sysevent/tst.post_chan.exe := LDLIBS += -lsysevent
57
58 ustack/tst.bigstack.exe := COPTFLAG += -xO1
59
60 CSTD = $(CSTD_GNU99)
61
62 nfs/%.o: $(SNOOPDIR)/%.c
63 $(COMPILE.c) -o $@ $< -I$(SNOOPDIR)
64 $(POST_PROCESS_O)
65 nfs/tst.call.exe: nfs/tst.call.o nfs/$(SNOOPOBJS)
66 $(LINK.c) -o $@ nfs/tst.call.o nfs/$(SNOOPOBJS) $(LDLIBS) -lnsl
67 $(POST_PROCESS) ; $(STRIP_STABS)
68 $(RPCSVCDIR)/%.c: $(RPCSVCDIR)/%.x
69 $(RPCGEN) -Cc $< > $@
70 nfs/$(RPCSVCOBJS): $(RPCSVCDIR)/$(RPCSVCSRCS)
71 $(COMPILE.c) -o $@ $(RPCSVCDIR)/$(RPCSVCSRCS)
72 $(POST_PROCESS_O)
73 nfs/tst.call3.exe: nfs/tst.call3.o nfs/$(RPCSVCOBJS)
74 $(LINK.c) -o $@ nfs/tst.call3.o nfs/$(RPCSVCOBJS) \
75 $(LDLIBS) -lnsl -lrpcsvc
76 $(POST_PROCESS) ; $(STRIP_STABS)
77
78 json/tst.usdt.o: json/usdt.h
79
80 json/usdt.h: json/usdt.d
81 $(DTRACE) -h -s json/usdt.d -o json/usdt.h
82
83 CLOBBERFILES += json/usdt.h
84
85 json/usdt.o: json/usdt.d json/tst.usdt.o
86 $(COMPILE.d) -o json/usdt.o -s json/usdt.d json/tst.usdt.o
87
88 json/tst.usdt.exe: json/tst.usdt.o json/usdt.o
89 $(LINK.c) -o json/tst.usdt.exe json/tst.usdt.o json/usdt.o $(LDLIBS)
90 $(POST_PROCESS) ; $(STRIP_STABS)
91
92 #
93 # Tests that use the next three programs rely on the binaries having
94 # valid CTF data.
95 #
96 uctf/tst.aouttype.exe: uctf/tst.aouttype.c
97 $(COMPILE.c) $(CTF_FLAGS) -o uctf/tst.aouttype.o uctf/tst.aouttype.c
98 $(CTFCONVERT) -i -L VERSION uctf/tst.aouttype.o
99 $(LINK.c) -o uctf/tst.aouttype.exe uctf/tst.aouttype.o $(LDLIBS)
100 $(CTFMERGE) -L VERSION -o $@ uctf/tst.aouttype.o
101 $(POST_PROCESS) ; $(STRIP_STABS)
102
103 uctf/tst.chasestrings.exe: uctf/tst.chasestrings.c
104 $(COMPILE.c) $(CTF_FLAGS) -o uctf/tst.chasestrings.o uctf/tst.chasestrings.c
105 $(CTFCONVERT) -i -L VERSION uctf/tst.chasestrings.o
106 $(LINK.c) -o uctf/tst.chasestrings.exe uctf/tst.chasestrings.o $(LDLIBS)
107 $(CTFMERGE) -L VERSION -o $@ uctf/tst.chasestrings.o
108 $(POST_PROCESS) ; $(STRIP_STABS)
109
110 uctf/tst.printtype.exe: uctf/tst.printtype.c
111 $(COMPILE.c) $(CTF_FLAGS) -o uctf/tst.printtype.o uctf/tst.printtype.c
112 $(CTFCONVERT) -i -L VERSION uctf/tst.printtype.o
113 $(LINK.c) -o uctf/tst.printtype.exe uctf/tst.printtype.o $(LDLIBS)
114 $(CTFMERGE) -L VERSION -o $@ uctf/tst.printtype.o
115 $(POST_PROCESS) ; $(STRIP_STABS)
116
117 #
118 # This program should never have any ctf data in it.
119 #
120 uctf/tst.libtype.exe:
121 $(LINK.c) -o uctf/tst.libtype.exe uctf/tst.libtype.c $(LDLIBS)
122 $(POST_PROCESS) ; $(STRIP_STABS)
123
124 usdt/tst.args.exe: usdt/tst.args.o usdt/args.o
125 $(LINK.c) -o usdt/tst.args.exe usdt/tst.args.o usdt/args.o $(LDLIBS)
126 $(POST_PROCESS) ; $(STRIP_STABS)
127
128 usdt/args.o: usdt/args.d usdt/tst.args.o
129 $(COMPILE.d) -o usdt/args.o -s usdt/args.d usdt/tst.args.o
130
131 usdt/tst.argmap.exe: usdt/tst.argmap.o usdt/argmap.o
132 $(LINK.c) -o usdt/tst.argmap.exe \
133 usdt/tst.argmap.o usdt/argmap.o $(LDLIBS)
134 $(POST_PROCESS) ; $(STRIP_STABS)
135
136 usdt/argmap.o: usdt/argmap.d usdt/tst.argmap.o
137 $(COMPILE.d) -o usdt/argmap.o -s usdt/argmap.d usdt/tst.argmap.o
138
139 usdt/tst.forker.exe: usdt/tst.forker.o usdt/forker.o
140 $(LINK.c) -o usdt/tst.forker.exe \
141 usdt/tst.forker.o usdt/forker.o $(LDLIBS)
142 $(POST_PROCESS) ; $(STRIP_STABS)
143
144 usdt/forker.o: usdt/forker.d usdt/tst.forker.o
145 $(COMPILE.d) -o usdt/forker.o -s usdt/forker.d usdt/tst.forker.o
146
147 usdt/tst.forker.o: usdt/forker.h
148
149 usdt/forker.h: usdt/forker.d
150 $(DTRACE) -h -s usdt/forker.d -o usdt/forker.h
151
152 usdt/tst.lazyprobe.exe: usdt/tst.lazyprobe.o usdt/lazyprobe.o
153 $(LINK.c) -o usdt/tst.lazyprobe.exe \
154 usdt/tst.lazyprobe.o usdt/lazyprobe.o $(LDLIBS)
155 $(POST_PROCESS) ; $(STRIP_STABS)
156
157 usdt/lazyprobe.o: usdt/lazyprobe.d usdt/tst.lazyprobe.o
158 $(COMPILE.d) -xlazyload -o usdt/lazyprobe.o \
159 -s usdt/lazyprobe.d usdt/tst.lazyprobe.o
160
161 usdt/tst.lazyprobe.o: usdt/lazyprobe.h
162
163 usdt/lazyprobe.h: usdt/lazyprobe.d
164 $(DTRACE) -h -s usdt/lazyprobe.d -o usdt/lazyprobe.h
165
166 SUBDIRS = java_api
167 include ../../Makefile.subdirs