Allow longer server names; fixes (temporarily) a buffer overflow.
[bluesky.git] / TBBT / trace_play / Makefile
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 MACHID= linux
106 CC= /usr/bin/gcc
107 #OPT= -O
108 OPT =
109 EXTRA_CFLAGS= -DNO_T_TYPES -DUSE_INTTYPES
110 LIBS= -lm
111 OSTYPE=
112
113
114 #
115 # ----------------------  source file definitions  ------------------
116 #
117
118 MAKEFILE =      Makefile
119
120 DOC =           sfs.1 README sfs.1
121
122 SHELLFILES =    sfs_mgr sfs_mcr sfs_rc 
123
124 V2_HDR =        sfs_c_def.h sfs_c_nfs.h
125
126 V3_HDR =        sfs_c_def.h sfs_c_nfs.h
127
128 V2_SRC =        sfs_2_ops.c sfs_2_vld.c
129
130 #V3_SRC =       rfs_3_ops.c sfs_3_vld.c
131 V3_SRC =        rfs_3_ops.c generic_hash.c profile.c
132
133 #C_SRC =                sfs_c_clk.c sfs_c_dat.c rfs_c_dat.c sfs_c_dmp.c sfs_c_man.c 
134 #               sfs_c_pnt.c sfs_c_rnd.c sfs_c_sig.c sfs_c_bio.c 
135 C_SRC =         sfs_c_clk.c sfs_c_dat.c rfs_c_dat.c sfs_c_dmp.c \
136                 sfs_c_rnd.c sfs_c_sig.c sfs_c_bio.c \
137                 sfs_2_xdr.c sfs_3_xdr.c sfs_c_mnt.c sfs_c_chd.c sem.c\
138                 sfs_c_clnt.c
139
140 C_COMMON_SRC =  sfs_c_sub.c
141
142 M_HDR =         sfs_m_def.h
143
144 M_PRIME_SRC =   sfs_m_prm.c
145
146 M_SYNCD_SRC =   sfs_m_snc.c
147
148 M_MSG_SRC =     sfs_m_msg.c
149
150 M_COMMON_SRC =  sfs_m_xdr.c
151
152 #
153 # ----------------------  object file definitions  -------------------
154 #
155
156 V2_OBJ =        sfs_2_ops.o sfs_2_vld.o
157
158 #V3_OBJ =       rfs_3_ops.o sfs_3_vld.o 
159 V3_OBJ =        rfs_3_ops.o generic_hash.o profile.o
160
161 C_OBJ =         sfs_c_clk.o sfs_c_dat.o rfs_c_dat.o sfs_c_dmp.o \
162                 sfs_c_rnd.o sfs_c_sig.o sfs_c_bio.o \
163                 sfs_2_xdr.o sfs_3_xdr.o sfs_c_mnt.o sfs_c_chd.o sem.o \
164                 sfs_c_clnt.o
165
166 C_COMMON_OBJ =  sfs_c_sub.o
167
168
169 M_PRIME_OBJ =   sfs_m_prm.o
170
171 M_SYNCD_OBJ =   sfs_m_snc.o
172
173 M_MSG_OBJ =     sfs_m_msg.o
174
175 M_COMMON_OBJ =  sfs_m_xdr.o
176
177 #
178 # ----------------------  rules and targets for building sfs  ---------
179 #
180
181 BENCH = /home/ningning/rfs/trace_src
182 all:            fix_perm install agefs
183
184 compile:        fix_perm install
185
186 fix_perm:
187                 chmod 755 $(BENCH)/src
188                 chmod 755 $(BENCH)/src/rpc
189                 chmod 755 $(BENCH)/bin
190
191 sfs:            $(V2_HDR) $(M_HDR) $(V2_OBJ) $(C_OBJ) \
192                 $(C_COMMON_OBJ) $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB)
193                 $(CC) -o $@ $(LDFLAGS) $(V2_OBJ) $(C_OBJ) $(C_COMMON_OBJ) \
194                         $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB) $(LIBS) \
195                         $(EXTRA_LIBS) 
196
197 sfs3:   $(V3_HDR) $(M_HDR) $(V3_OBJ) $(C_OBJ) \
198                 $(C_COMMON_OBJ) $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB)
199                 $(CC) -lpthread -o $@ $(LDFLAGS) $(V3_OBJ) $(C_OBJ) $(C_COMMON_OBJ) \
200                         $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB) $(LIBS) \
201                         $(EXTRA_LIBS) 
202                 chmod 755 sfs3
203
204 sfs3.full_speed:        $(V3_HDR) $(M_HDR) $(V3_OBJ) $(C_OBJ) \
205                 $(C_COMMON_OBJ) $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB)
206                 $(CC) -o $@ $(LDFLAGS) $(V3_OBJ) $(C_OBJ) $(C_COMMON_OBJ) \
207                         $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB) $(LIBS) \
208                         $(EXTRA_LIBS) 
209
210
211
212 sfs_prime:      $(V2_HDR) $(M_HDR) $(M_PRIME_OBJ) \
213                 $(C_COMMON_OBJ) $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB)
214                 $(CC) -o $@ $(LDFLAGS) $(M_PRIME_OBJ) $(C_COMMON_OBJ) \
215                         $(M_COMMON_OBJ) $(M_MSG_OBJ) $(RPCLIB) $(LIBS) \
216                         $(EXTRA_LIBS) 
217
218 sfs_syncd:      $(V2_HDR) $(M_HDR) $(M_SYNCD_OBJ) \
219                 $(C_COMMON_OBJ) $(M_COMMON_OBJ) $(RPCLIB)
220                 $(CC) -o $@ $(LDFLAGS) $(M_SYNCD_OBJ) $(C_COMMON_OBJ) \
221                         $(M_COMMON_OBJ) $(RPCLIB) $(LIBS) $(EXTRA_LIBS) 
222
223 .c.o:
224                 $(CC) -c $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
225                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) $(OPT) \
226                         $(RESVPORT_MOUNT) $*.c
227
228 ${RPCLIB}: FRC
229         @cd rpc; make MACHID="${MACHID}"\
230                 CC="${CC}" CFLAGS="${CFLAGS}" DEBUG="${DEBUG}"\
231                 LDFLAGS="${LDFLAGS}" EXTRA_CFLAGS="${EXTRA_CFLAGS}" \
232                 EXTRA_LDFLAGS="${EXTRA_LDFLAGS}" EXTRA_LIBS="${EXTRA_LIBS}" \
233                 LIBS="${LIBS}" OSTYPE="${OSTYPE}" OPT="${OPT}" \
234                 EXTRA_LINTFLAGS="${EXTRA_LINTFLAGS}" \
235                 RESVPORT_MOUNT="${RESVPORT_MOUNT}"\
236                 librpclib.a
237
238 generic_hash.o: rfs_c_def.h generic_hash.h generic_hash.c
239
240 profile.o:      rfs_c_def.h profile.h profile.c
241
242 rfs_3_ops.o:    sfs_c_nfs.h sfs_c_def.h rfs_c_def.h rfs_3_ops.c
243
244 sfs_3_vld.o:    sfs_c_nfs.h sfs_c_def.h sfs_3_vld.c
245
246 sfs_3_xdr.o:    sfs_c_nfs.h sfs_c_def.h sfs_3_xdr.c
247
248 sfs_c_bio.o:    sfs_c_nfs.h sfs_c_def.h rfs_c_def.h sfs_c_bio.c
249
250 sfs_c_chd.o:    sfs_c_nfs.h sfs_c_def.h rfs_c_def.h sfs_m_def.h generic_hash.h profile.h sfs_c_chd.c
251
252 sem.o:  sem.c
253
254 sfs_c_clk.o:    sfs_c_nfs.h sfs_c_def.h sfs_c_clk.c
255
256 sfs_c_clnt.o:   sfs_c_nfs.h sfs_c_def.h sfs_c_clnt.c
257
258 sfs_c_dat.o:    sfs_c_def.h sfs_m_def.h sfs_c_nfs.h sfs_c_dat.c
259 rfs_c_dat.o:    sfs_c_def.h rfs_c_def.h sfs_c_nfs.h rfs_c_dat.c
260
261 sfs_c_dmp.o:    sfs_c_nfs.h sfs_c_def.h sfs_c_dmp.c
262
263 sfs_c_man.o:    sfs_c_nfs.h sfs_c_def.h \
264                 sfs_m_def.h sfs_c_man.c
265
266 sfs_c_mnt.o:    sfs_c_nfs.h sfs_c_def.h rfs_c_def.h sfs_c_mnt.c
267
268 sfs_2_ops.o:    sfs_c_nfs.h sfs_c_def.h sfs_2_ops.c
269
270 sfs_c_pnt.o:    sfs_c_nfs.h sfs_c_def.h \
271                 sfs_m_def.h sfs_c_pnt.c
272
273 sfs_c_rnd.o:    sfs_c_rnd.c
274
275 sfs_c_sig.o:    sfs_c_nfs.h sfs_c_def.h rfs_c_def.h sfs_c_sig.c
276
277 sfs_c_sub.o:    sfs_c_nfs.h sfs_c_def.h sfs_c_sub.c
278
279 sfs_2_vld.o:    sfs_c_nfs.h sfs_c_def.h sfs_2_vld.c
280
281 sfs_2_xdr.o:    sfs_c_nfs.h sfs_c_def.h sfs_2_xdr.c
282
283 sfs_m_msg.o:    sfs_c_nfs.h sfs_c_def.h \
284                 sfs_m_def.h sfs_m_msg.c
285
286 sfs_m_prm.o:    sfs_c_nfs.h sfs_c_def.h \
287                 sfs_m_def.h sfs_m_prm.c
288
289 sfs_m_snc.o:    sfs_c_nfs.h sfs_c_def.h \
290                 sfs_m_def.h sfs_m_snc.c
291
292 sfs_m_xdr.o:    sfs_m_def.h sfs_m_xdr.c
293
294 #
295 # ----------------------  lint, install, clean, misc rules  -----------------
296 #
297
298 lint:           lint_sfs lint_sfs3 lint_prime lint_syncd
299
300 lint_sfs:       $(V2_HDR) $(M_HDR) $(V2_SRC) $(C_SRC) \
301                 $(C_COMMON_SRC) $(M_COMMON_SRC) $(M_MSG_SRC)
302                 lint -Dlint $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
303                         $(EXTRA_LINTFLAGS) \
304                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) \
305                         $(RESVPORT_MOUNT) \
306                         $(V2_SRC) $(C_SRC) $(C_COMMON_SRC) \
307                         $(M_COMMON_SRC) $(M_MSG_SRC) \
308                         $(LIBS) $(EXTRA_LIBS) \
309                         > sfs.lint
310
311 lint_prime:     $(V2_HDR) $(M_HDR) $(M_PRIME_SRC) \
312                 $(C_COMMON_SRC) $(M_COMMON_SRC) $(M_MSG_SRC)
313                 lint -Dlint $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
314                         $(EXTRA_LINTFLAGS) \
315                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) \
316                         $(RESVPORT_MOUNT) \
317                         $(M_PRIME_SRC) $(C_COMMON_SRC) \
318                         $(M_COMMON_SRC) $(M_MSG_SRC) \
319                         $(LIBS) $(EXTRA_LIBS) \
320                         > sfs_prime.lint
321
322 lint_syncd:     $(V2_HDR) $(M_HDR) $(M_SYNCD_SRC) \
323                 $(C_COMMON_SRC) $(M_COMMON_SRC)
324                 lint -Dlint $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
325                         $(EXTRA_LINTFLAGS) \
326                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) \
327                         $(RESVPORT_MOUNT) \
328                         $(M_SYNCD_SRC) $(C_COMMON_SRC) $(M_COMMON_SRC) \
329                         $(LIBS) $(EXTRA_LIBS) \
330                         > sfs_syncd.lint
331
332 lint_sfs3:      $(V3_HDR) $(M_HDR) $(V3_SRC) $(C_SRC) \
333                 $(C_COMMON_SRC) $(M_COMMON_SRC) $(M_MSG_SRC)
334                 lint -Dlint $(INCDIR) $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG) \
335                         $(EXTRA_LINTFLAGS) \
336                         $(SETPGRP_CALL) $(FSTAB) $(OSTYPE) \
337                         $(RESVPORT_MOUNT) \
338                         $(V3_SRC) $(C_SRC) $(C_COMMON_SRC) \
339                         $(M_COMMON_SRC) $(M_MSG_SRC) \
340                         $(LIBS) $(EXTRA_LIBS) \
341                         > sfs3.lint
342
343 install:        sfs sfs3 sfs_syncd sfs_prime
344                 chmod +x sfs_syncd sfs_prime \
345                         sfs_mgr sfs_mcr sfs_ext_mon \
346                         sfs_suchown sfs sfs3
347                 ./sfs_suchown $(RESVPORT_MOUNT) sfs sfs3
348
349 clean clobber:
350                 rm -f *.o sfs sfs_syncd sfs_prime \
351                         sfs3 sfs_prime \
352                         lint.out sfs_*.shr1 core *.lint
353                 cd rpc; make clean
354                 ./sfs_suchown clobber
355
356 FRC:
357 agefs: rfs_c_age.c profile.c 
358         gcc -g -o agefs rfs_c_age.c profile.c
359 frag_count: frag_count.c
360         gcc -g -o frag_count frag_count.c
361 frag_collect:frag_collect
362 generate_xmgr: generate_xmgr.c
363         gcc -g -o generate_xmgr generate_xmgr.c
364