Add proper per-file copyright notices/licenses and top-level license.
[bluesky.git] / TBBT / trace_play / Makefile.org
1 #
2 #       @(#)Makefile    2.1     97/10/23
3 #
4 # Makefile to build SFS benchmark suite
5 #
6 #
7 #    Copyright (c) 1992-1997,2001 by Standard Performance Evaluation Corporation
8 #       All rights reserved.
9 #               Standard Performance Evaluation Corporation (SPEC)
10 #               6585 Merchant Place, Suite 100
11 #               Warrenton, VA 20187
12 #
13 #       This tape contains benchmarks acquired from several sources who
14 #       understand and agree with SPEC's goal of creating fair and objective
15 #       benchmarks to measure computer performance.
16 #
17 #       This copyright notice is placed here only to protect SPEC in the
18 #       event the source is misused in any manner that is contrary to the
19 #       spirit, the goals and the intent of SPEC.
20 #
21 #       The source code is provided to the user or company under the license
22 #       agreement for the SPEC Benchmark Suite for this tape.
23 #
24 #
25 # *****************************************************************
26 # *                                                               *
27 # *     Copyright 1991,1992  Legato Systems, Inc.                 *
28 # *     Copyright 1991,1992  Auspex Systems, Inc.                 *
29 # *     Copyright 1991,1992  Data General Corporation             *
30 # *     Copyright 1991,1992  Digital Equipment Corporation        *
31 # *     Copyright 1991,1992  Interphase Corporation               *
32 # *     Copyright 1991,1992  Sun Microsystems, Inc.               *
33 # *                                                               *
34 # *****************************************************************
35
36 #
37 # -----------------------  How to use this makefile  --------------------
38 #
39 # The makefile is divided into 10 sections:
40 #  1) basic information
41 #  2) default compiler definitions
42 #  3) vendor specific definitions
43 #  4) OS feature specific definitions
44 #  5) final compiler definitions (includes specific vendor and feature defs)
45 #  6) source file definitions
46 #  7) object file definitions
47 #  8) rules and targets for building sfs
48 #  9) lint, install, clean, misc rules
49
50
51 # ----------------------  default compiler definitions  -----------------
52 #
53 # For Solaris 2.X (SunOS 5.X) or later
54 MACHID = solaris2
55 CC=cc
56 OPT = -O
57 CFLAGS = -v -Xc -D__sparc -D_POSIX_SOURCE
58 LDFLAGS =
59 EXTRA_CFLAGS = -DPORTMAP
60 EXTRA_LDFLAGS =
61 EXTRA_LINTFLAGS =
62 EXTRA_LIBS =
63 RESVPORT_MOUNT=
64 OSTYPE = -DSVR4 -DSOLARIS2
65 INCDIR = -I.
66 RPCLIB = rpc/librpclib.a
67 LIBS = -lm -lsocket -lnsl
68
69 #
70 # ----------------------  OS feature specific definitions  ------------------
71 #
72
73 #
74 # A UNIX derivative that only supports the getfsent(3) family of calls
75 # should have the USEFSTAB variable set.
76 # A UNIX derivative that supports the getmntent(3) family of calls
77 # should have the line commented out.
78 #FSTAB = -DUSEFSTAB
79
80 # SFS uses the setsid(2) system call to form a new proces group
81 # This prevents 'synchronization' signals from causing parent shell (sh)
82 # to exit. SETPGRP_CALL allows you to specify the alternative use
83 # of the setpgrp(2) and which variation you are using. 
84
85 # If you are linking with BSD libraries then uncomment the next line.
86 # SETPGRP_CALL = -DSETPGRP_BSD
87
88 # If you are linking with SYSV type libraries then uncomment the next line.
89 #SETPGRP_CALL = -DSETPGRP_SYSV
90
91 # if your client is failing the mount even when run as root then you should
92 # uncomment the RESVPORT_MOUNT to explicitly bind to a reserved port.
93 # RESVPORT_MOUNT = -DRESVPORT
94
95 #
96 # ----------------------  final compiler definitions  -----------------------
97 #
98
99 # DEBUG = -g
100 CFLAGS = 
101 EXTRA_CFLAGS =
102
103 LDFLAGS =  $(OSTYPE)
104
105
106 #
107 # ----------------------  source file definitions  ------------------
108 #
109
110 MAKEFILE =      Makefile
111
112 DOC =           sfs.1 README sfs.1
113
114 SHELLFILES =    sfs_mgr sfs_mcr sfs_rc 
115
116 V2_HDR =        sfs_c_def.h sfs_c_nfs.h
117
118 V3_HDR =        sfs_c_def.h sfs_c_nfs.h
119
120 V2_SRC =        sfs_2_ops.c sfs_2_vld.c
121
122 V3_SRC =        sfs_3_ops.c sfs_3_vld.c
123
124 C_SRC =         sfs_c_clk.c sfs_c_dat.c sfs_c_dmp.c sfs_c_man.c \
125                 sfs_c_pnt.c sfs_c_rnd.c sfs_c_sig.c sfs_c_bio.c \
126                 sfs_2_xdr.c sfs_3_xdr.c sfs_c_mnt.c sfs_c_chd.c \
127                 sfs_c_clnt.c
128
129 C_COMMON_SRC =  sfs_c_sub.c
130
131 M_HDR =         sfs_m_def.h
132
133 M_PRIME_SRC =   sfs_m_prm.c
134
135 M_SYNCD_SRC =   sfs_m_snc.c
136
137 M_MSG_SRC =     sfs_m_msg.c
138
139 M_COMMON_SRC =  sfs_m_xdr.c
140
141 #
142 # ----------------------  object file definitions  -------------------
143 #
144
145 V2_OBJ =        sfs_2_ops.o sfs_2_vld.o
146
147 V3_OBJ =        sfs_3_ops.o sfs_3_vld.o
148
149 C_OBJ =         sfs_c_clk.o sfs_c_dat.o sfs_c_dmp.o sfs_c_man.o \
150                 sfs_c_pnt.o sfs_c_rnd.o sfs_c_sig.o sfs_c_bio.o \
151                 sfs_2_xdr.o sfs_3_xdr.o sfs_c_mnt.o sfs_c_chd.o \
152                 sfs_c_clnt.o
153
154 C_COMMON_OBJ =  sfs_c_sub.o
155
156
157 M_PRIME_OBJ =   sfs_m_prm.o
158
159 M_SYNCD_OBJ =   sfs_m_snc.o
160
161 M_MSG_OBJ =     sfs_m_msg.o
162
163 M_COMMON_OBJ =  sfs_m_xdr.o
164
165 #
166 # ----------------------  rules and targets for building sfs  ---------
167 #
168
169 BENCH = /tmp/spec
170 all:            fix_perm install
171
172 compile:        fix_perm install
173
174 fix_perm:
175                 chmod 755 $(BENCH)/src
176                 chmod 755 $(BENCH)/src/rpc
177                 chmod 755 $(BENCH)/bin
178
179 sfs:            $(V2_HDR) $(M_HDR) $(V2_OBJ) $(C_OBJ) \
180                 $(C_COMMON_OBJ) $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB)
181                 $(CC) -o $@ $(LDFLAGS) $(V2_OBJ) $(C_OBJ) $(C_COMMON_OBJ) \
182                         $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB) $(LIBS) \
183                         $(EXTRA_LIBS) 
184
185 sfs3:   $(V3_HDR) $(M_HDR) $(V3_OBJ) $(C_OBJ) \
186                 $(C_COMMON_OBJ) $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB)
187                 $(CC) -o $@ $(LDFLAGS) $(V3_OBJ) $(C_OBJ) $(C_COMMON_OBJ) \
188                         $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB) $(LIBS) \
189                         $(EXTRA_LIBS) 
190
191 sfs_prime:      $(V2_HDR) $(M_HDR) $(M_PRIME_OBJ) \
192                 $(C_COMMON_OBJ) $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB)
193                 $(CC) -o $@ $(LDFLAGS) $(M_PRIME_OBJ) $(C_COMMON_OBJ) \
194                         $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB) $(LIBS) \
195                         $(EXTRA_LIBS) 
196
197 sfs_syncd:      $(V2_HDR) $(M_HDR) $(M_SYNCD_OBJ) \
198                 $(C_COMMON_OBJ) $(M_COMMON_OBJ) $(RPCLIB)
199                 $(CC) -o $@ $(LDFLAGS) $(M_SYNCD_OBJ) $(C_COMMON_OBJ) \
200                         $(M_COMMON_OBJ) $(RPCLIB) $(LIBS) $(EXTRA_LIBS) 
201
202 .c.o:
203                 $(CC) -c $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
204                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) $(OPT) \
205                         $(RESVPORT_MOUNT) $*.c
206
207 ${RPCLIB}: FRC
208         @cd rpc; make MACHID="${MACHID}"\
209                 CC="${CC}" CFLAGS="${CFLAGS}" \
210                 LDFLAGS="${LDFLAGS}" EXTRA_CFLAGS="${EXTRA_CFLAGS}" \
211                 EXTRA_LDFLAGS="${EXTRA_LDFLAGS}" EXTRA_LIBS="${EXTRA_LIBS}" \
212                 LIBS="${LIBS}" OSTYPE="${OSTYPE}" OPT="${OPT}" \
213                 EXTRA_LINTFLAGS="${EXTRA_LINTFLAGS}" \
214                 RESVPORT_MOUNT="${RESVPORT_MOUNT}"\
215                 librpclib.a
216
217 sfs_3_ops.o:    sfs_c_nfs.h sfs_c_def.h sfs_3_ops.c
218
219 sfs_3_vld.o:    sfs_c_nfs.h sfs_c_def.h sfs_3_vld.c
220
221 sfs_3_xdr.o:    sfs_c_nfs.h sfs_c_def.h sfs_3_xdr.c
222
223 sfs_c_bio.o:    sfs_c_nfs.h sfs_c_def.h sfs_c_bio.c
224
225 sfs_c_chd.o:    sfs_c_nfs.h sfs_c_def.h sfs_m_def.h sfs_c_chd.c
226
227 sfs_c_clk.o:    sfs_c_nfs.h sfs_c_def.h sfs_c_clk.c
228
229 sfs_c_clnt.o:   sfs_c_nfs.h sfs_c_def.h sfs_c_clnt.c
230
231 sfs_c_dat.o:    sfs_c_def.h sfs_m_def.h sfs_c_nfs.h sfs_c_dat.c
232
233 sfs_c_dmp.o:    sfs_c_nfs.h sfs_c_def.h sfs_c_dmp.c
234
235 sfs_c_man.o:    sfs_c_nfs.h sfs_c_def.h \
236                 sfs_m_def.h sfs_c_man.c
237
238 sfs_c_mnt.o:    sfs_c_nfs.h sfs_c_def.h sfs_c_mnt.c
239
240 sfs_2_ops.o:    sfs_c_nfs.h sfs_c_def.h sfs_2_ops.c
241
242 sfs_c_pnt.o:    sfs_c_nfs.h sfs_c_def.h \
243                 sfs_m_def.h sfs_c_pnt.c
244
245 sfs_c_rnd.o:    sfs_c_rnd.c
246
247 sfs_c_sig.o:    sfs_c_nfs.h sfs_c_def.h sfs_c_sig.c
248
249 sfs_c_sub.o:    sfs_c_nfs.h sfs_c_def.h sfs_c_sub.c
250
251 sfs_2_vld.o:    sfs_c_nfs.h sfs_c_def.h sfs_2_vld.c
252
253 sfs_2_xdr.o:    sfs_c_nfs.h sfs_c_def.h sfs_2_xdr.c
254
255 sfs_m_msg.o:    sfs_c_nfs.h sfs_c_def.h \
256                 sfs_m_def.h sfs_m_msg.c
257
258 sfs_m_prm.o:    sfs_c_nfs.h sfs_c_def.h \
259                 sfs_m_def.h sfs_m_prm.c
260
261 sfs_m_snc.o:    sfs_c_nfs.h sfs_c_def.h \
262                 sfs_m_def.h sfs_m_snc.c
263
264 sfs_m_xdr.o:    sfs_m_def.h sfs_m_xdr.c
265
266 #
267 # ----------------------  lint, install, clean, misc rules  -----------------
268 #
269
270 lint:           lint_sfs lint_sfs3 lint_prime lint_syncd
271
272 lint_sfs:       $(V2_HDR) $(M_HDR) $(V2_SRC) $(C_SRC) \
273                 $(C_COMMON_SRC) $(M_COMMON_SRC) $(M_MSG_SRC)
274                 lint -Dlint $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
275                         $(EXTRA_LINTFLAGS) \
276                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) \
277                         $(RESVPORT_MOUNT) \
278                         $(V2_SRC) $(C_SRC) $(C_COMMON_SRC) \
279                         $(M_COMMON_SRC) $(M_MSG_SRC) \
280                         $(LIBS) $(EXTRA_LIBS) \
281                         > sfs.lint
282
283 lint_prime:     $(V2_HDR) $(M_HDR) $(M_PRIME_SRC) \
284                 $(C_COMMON_SRC) $(M_COMMON_SRC) $(M_MSG_SRC)
285                 lint -Dlint $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
286                         $(EXTRA_LINTFLAGS) \
287                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) \
288                         $(RESVPORT_MOUNT) \
289                         $(M_PRIME_SRC) $(C_COMMON_SRC) \
290                         $(M_COMMON_SRC) $(M_MSG_SRC) \
291                         $(LIBS) $(EXTRA_LIBS) \
292                         > sfs_prime.lint
293
294 lint_syncd:     $(V2_HDR) $(M_HDR) $(M_SYNCD_SRC) \
295                 $(C_COMMON_SRC) $(M_COMMON_SRC)
296                 lint -Dlint $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
297                         $(EXTRA_LINTFLAGS) \
298                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) \
299                         $(RESVPORT_MOUNT) \
300                         $(M_SYNCD_SRC) $(C_COMMON_SRC) $(M_COMMON_SRC) \
301                         $(LIBS) $(EXTRA_LIBS) \
302                         > sfs_syncd.lint
303
304 lint_sfs3:      $(V3_HDR) $(M_HDR) $(V3_SRC) $(C_SRC) \
305                 $(C_COMMON_SRC) $(M_COMMON_SRC) $(M_MSG_SRC)
306                 lint -Dlint $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
307                         $(EXTRA_LINTFLAGS) \
308                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) \
309                         $(RESVPORT_MOUNT) \
310                         $(V3_SRC) $(C_SRC) $(C_COMMON_SRC) \
311                         $(M_COMMON_SRC) $(M_MSG_SRC) \
312                         $(LIBS) $(EXTRA_LIBS) \
313                         > sfs3.lint
314
315 install:        sfs sfs3 sfs_syncd sfs_prime
316                 chmod +x sfs_syncd sfs_prime \
317                         sfs_mgr sfs_mcr sfs_ext_mon \
318                         sfs_suchown sfs sfs3
319                 ./sfs_suchown $(RESVPORT_MOUNT) sfs sfs3
320
321 clean clobber:
322                 rm -f *.o sfs sfs_syncd sfs_prime \
323                         sfs3 sfs_prime \
324                         lint.out sfs_*.shr1 core *.lint
325                 cd rpc; make clean
326                 ./sfs_suchown clobber
327
328 FRC: