a595ed6cb37f4f1213e05a6da50588e481f498e5
[openafs.git] / src / venus / Makefile.in
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3
4 # This software has been released under the terms of the IBM Public
5 # License.  For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 srcdir=@srcdir@
9 include @TOP_OBJDIR@/src/config/Makefile.config
10
11
12 CCXPG2= /usr/xpg2bin/cc
13
14 # Note - be careful with this line, ubik.h is very picky about getting the right lock.h
15 CFLAGS=${OPTMZ} -I${TOP_INCDIR} -I. -I${srcdir} -I${TOP_OBJDIR}/src/config ${XCFLAGS}
16
17 INCLS=${TOP_INCDIR}/afs/afsint.h \
18         ${TOP_INCDIR}/afs/cmd.h \
19         ${TOP_INCDIR}/afs/afsutil.h
20
21 FSLIBS=${TOP_LIBDIR}/libsys.a \
22          ${TOP_LIBDIR}/libvldb.a \
23          ${TOP_LIBDIR}/libubik.a \
24          ${TOP_LIBDIR}/vlib.a \
25          ${TOP_LIBDIR}/libauth.a \
26          ${TOP_LIBDIR}/librxkad.a \
27          ${TOP_LIBDIR}/libcom_err.a \
28          ${TOP_LIBDIR}/libcmd.a \
29          ${TOP_LIBDIR}/libkauth.a \
30          ${TOP_LIBDIR}/libdes.a \
31          ${TOP_LIBDIR}/librx.a \
32          ${TOP_LIBDIR}/libsys.a \
33          $(TOP_LIBDIR)/util.a \
34          ${TOP_LIBDIR}/liblwp.a \
35          ${TOP_LIBDIR}/libaudit.a
36
37 CMLIBS=${TOP_LIBDIR}/libsys.a \
38          ${TOP_LIBDIR}/libafsint.a \
39          ${TOP_LIBDIR}/librxkad.a \
40          ${TOP_LIBDIR}/libauth.a \
41          ${TOP_LIBDIR}/libcom_err.a \
42          ${TOP_LIBDIR}/libcmd.a \
43          ${TOP_LIBDIR}/librx.a \
44          ${TOP_LIBDIR}/libsys.a \
45          $(TOP_LIBDIR)/util.a \
46          ${TOP_LIBDIR}/liblwp.a
47
48 LIBS = ${FSLIBS} 
49
50 all: fs up fstrace cmdebug livesys kdump kdump64
51
52 #
53 # Build targets
54 #
55 cacheout: cacheout.o
56         $(CC) ${CFLAGS} -o cacheout cacheout.o ${LIBS} ${XLIBS} ${CMLIBS}
57
58 cacheout.o: cacheout.c
59
60 ${DEST}/bin/fs ${DEST}/root.server/usr/afs/bin/fs: fs
61         ${INSTALL} -s $? $@
62
63 ${DEST}/bin/livesys: livesys
64         ${INSTALL} -s $? $@
65
66 ${DEST}/bin/up: up
67         ${INSTALL} -s $? $@
68
69 ${DEST}/etc/fstrace: fstrace
70         ${INSTALL} -s $? $@
71
72 ${DEST}/bin/cmdebug: cmdebug
73         ${INSTALL} -s $? $@
74
75 ${DEST}/etc/kdump: kdump
76         -set -x; \
77         case ${SYS_NAME} in \
78         sgi_6? ) \
79                 ${INSTALLex} -f ${srcdir}/kdump.sh.sgi_ipnos $@; \
80                 ln -fs kdump ${DEST}/etc/kdump32; \
81                 ln -fs kdump.IP20 ${DEST}/etc/kdump.IP22; \
82                 ln -fs kdump.IP20 ${DEST}/etc/kdump.IP32; \
83                 for f in kdump.IP??; \
84                         do ${INSTALL} -s $$f ${DEST}/etc/$$f || exit $$? ; \
85                 done ;; \
86         sun*_5[789] ) \
87                 ${INSTALLex} -f ${srcdir}/kdump.sh.solaris7 $@; \
88                 ${INSTALL} -s -f $? ${DEST}/etc/kdump32;; \
89         *alpha_linux* ) \
90                 ${INSTALLex} -f ${srcdir}/kdump.sh.linux $@; \
91                 ${INSTALL} -s kdump-alpha_linux-${LINUX_VERSION} ${DEST}/etc/kdump-${LINUX_VERSION} ;; \
92         *linux* ) \
93                 ${INSTALLex} -f ${srcdir}/kdump.sh.linux $@; \
94                 ${INSTALL} -s kdump-linux-${LINUX_VERSION} ${DEST}/etc/kdump-${LINUX_VERSION} ;; \
95         hp_ux11* ) \
96                 ${INSTALLex} -f ${srcdir}/kdump.sh.hp_ux11 $@; \
97                 ${INSTALL} -s -f $? ${DEST}/etc/kdump32;; \
98         *nbsd*) \
99                 ;; \
100         *) \
101                 ${INSTALL} -s $? $@ ;; \
102         esac
103
104 ${DEST}/etc/kdump64: kdump64
105         -set -x; \
106         case ${SYS_NAME} in \
107         sun4x_5[789] | hp_ux11* |sunx86_5[789] ) \
108                 ${INSTALL} -s $? $@ ;;\
109         * ) \
110                 echo skipping kdump64 for ${SYS_NAME} ;; \
111         esac
112
113
114 up.o: up.c AFS_component_version_number.c
115
116 up: up.o
117         ${CC} ${CFLAGS} $(DBG) -o up up.o ${LIBS} ${XLIBS}
118
119 fs.o: fs.c ${INCLS} AFS_component_version_number.c
120
121 fs: fs.o $(LIBS)
122         ${CC} ${CFLAGS} $(DBG) -o fs fs.o ${TOP_LIBDIR}/libprot.a $(LIBS) ${XLIBS}
123
124 livesys.o: livesys.c ${INCLS} AFS_component_version_number.c
125
126 livesys: livesys.c $(LIBS)
127         ${CC} $(DBG) -o livesys $(CFLAGS) ${srcdir}/livesys.c $(LIBS) ${XLIBS}
128
129 twiddle: twiddle.c $(LIBS)
130         ${CC} $(DBG) -o twiddle $(CFLAGS) twiddle.c $(LIBS) ${XLIBS}
131
132 gcpags: gcpags.c $(LIBS)
133         ${CC} $(DBG) -o gcpags $(CFLAGS) gcpags.c $(LIBS) ${XLIBS}
134
135 whatfid.o: whatfid.c ${INCLS} AFS_component_version_number.c
136
137 whatfid: whatfid.o ${LIBS}
138         ${CC} ${CFLAGS} $(DBG) -o whatfid whatfid.o ${LIBS} ${XLIBS}
139
140 fstrace.o: fstrace.c AFS_component_version_number.c
141         case ${SYS_NAME} in \
142                 sun4_411 | sun4c_411 | sun4m_412 ) \
143                         ${CCXPG2} $(DBG) -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} -I${TOP_INCDIR} -c ${srcdir}/fstrace.c ;; \
144                 sun*_4* ) \
145                         ${CC} -I/usr/xpg2include -I/usr/5include -g -I${TOP_SRCDIR}/config -I${TOP_INCDIR} -I${TOP_INCDIR} -c fstrace.c ;; \
146                 * ) \
147                         ${CC} ${CFLAGS} $(DBG) -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} -I${TOP_INCDIR} -c ${srcdir}/fstrace.c ;; \
148         esac
149
150 fstrace: fstrace.o
151         case ${SYS_NAME} in \
152                 pmax_ul43 | pmax_ul43a ) \
153                         ${CC} ${CFLAGS} -o fstrace fstrace.o ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a /usr/lib/libi.a ;; \
154                 sun4_411 | sun4c_411 | sun4m_412 ) \
155                         ${CCXPG2} ${CFLAGS} $(DBG) -o fstrace fstrace.o ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ;; \
156                 sun*_4* ) \
157                         ${CC} -L/usr/xpg2lib -L/usr/5lib ${CFLAGS} -g -o fstrace fstrace.o ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a -lxpg ;; \
158                 hp700_ux100 | hp800_ux100 | hp?00_ux10? | hp_ux10? | hp_ux11?) \
159                         ${CC} -I${TOP_OBJDIR}/src/config  -o fstrace fstrace.o ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ;; \
160                 * ) \
161                         ${CC} ${CFLAGS} -o fstrace fstrace.o ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ;; \
162         esac
163
164 cmdebug.o: cmdebug.c ${INCLS} AFS_component_version_number.c
165
166 cmdebug: cmdebug.o ${CMLIBS}
167         $(CC) -o cmdebug cmdebug.o ${CFLAGS} ${CMLIBS} ${XLIBS}
168
169 #
170 # Kernel info dumper - these are done with submakes so that
171 # the build process does not attempt to rebuild them every time it runs.
172 #
173
174 # *linux* - Builds kdump-X.Y.Z according to kernel version
175 kdump-linux-@LINUX_VERSION@.o: kdump.c ${INCLS} AFS_component_version_number.c
176         ${CC} $(DBG) -I${LINUX_KERNEL_PATH}/include -I${TOP_INCDIR}/afs \
177                 -I${TOP_OBJDIR}/src \
178                 -I${TOP_OBJDIR}/src/afs/${MKAFS_OSTYPE} \
179                 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src/libafs/afs \
180                 -I${TOP_SRCDIR} -I${TOP_SRCDIR}/afs/${MKAFS_OSTYPE} \
181                 -I${TOP_INCDIR} ${XCFLAGS} -o kdump-linux-${LINUX_VERSION}.o \
182                 -c ${srcdir}/kdump.c
183
184 kdump-linux-@LINUX_VERSION@: kdump-linux-@LINUX_VERSION@.o
185         ${CC} $(DBG) -o kdump-linux-${LINUX_VERSION} kdump-linux-${LINUX_VERSION}.o \
186                 ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS}
187
188 # *alpha_linux* - Builds kdump-X.Y.Z according to kernel version
189 kdump-alpha_linux-@LINUX_VERSION@.o: kdump.c ${INCLS} AFS_component_version_number.c
190         ${CC} $(DBG) -I${LINUX_KERNEL_PATH}/include -I${TOP_INCDIR}/afs \
191                 -I${TOP_OBJDIR}/src \
192                 -I${TOP_OBJDIR}/src/afs/${MKAFS_OSTYPE} \
193                 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src/libafs/afs \
194                 -I${TOP_SRCDIR} -I${TOP_SRCDIR}/afs/${MKAFS_OSTYPE} \
195                 -I${TOP_INCDIR} ${XCFLAGS} -mno-fp-regs -ffixed-8 \
196                 -o kdump-alpha_linux-${LINUX_VERSION}.o -c ${srcdir}/kdump.c ;; \
197
198 kdump-alpha_linux-@LINUX_VERSION@: kdump-alpha_linux-@LINUX_VERSION@.o
199         ${CC} $(DBG) -o kdump-alpha_linux-${LINUX_VERSION} kdump-alpha_linux-${LINUX_VERSION}.o \
200                 ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS}
201
202 #
203 # Default target
204 #
205 kdump.o: kdump.c ${INCLS} AFS_component_version_number.c
206         -set -x; \
207         case ${SYS_NAME} in \
208                 alpha_linux* ) \
209                         $(MAKE) kdump-alpha_linux-${LINUX_VERSION}.o ;; \
210                 *linux* ) \
211                         $(MAKE) kdump-linux-${LINUX_VERSION}.o ;; \
212                 alpha_osf1 | alpha_osf20 |  alpha_osf30 | alpha_osf32 | alpha_osf32c| alpha_dux?? ) \
213                         ${CC} $(DBG) ${CFLAGS} -I/usr/sys/include -I/usr/sys/BINARY -I/usr/sys/AFS -DDEBUGGER -c ${srcdir}/kdump.c ;;\
214                 sgi_6? ) \
215                         for f in ../libafs/STATIC.IP*/CPU_KDEFS; \
216                         do      IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \
217                                 CPU_KDEFS=`sed 's/-mips.//' $$f`; \
218                                 echo IP = $$IP; \
219                                 echo CPU_KDEFS = $$CPU_KDEFS; \
220                                 case $$CPU_KDEFS in \
221                                 *-64*)  ${CC} -D_KMEMUSER -woff 1178 \
222                                                 $(DBG) -I${TOP_INCDIR} \
223                                                 -I${TOP_OBJDIR}/src/config \
224                                                 $$CPU_KDEFS \
225                                                 ${XCFLAGS64} \
226                                                 -c ${srcdir}/kdump.c -o kdump.$$IP.o \
227                                         ;; \
228                                 *)      ${CC} -D_KMEMUSER -woff 1178 \
229                                                 $(DBG) -I${TOP_INCDIR} \
230                                                 -I${TOP_OBJDIR}/src/config \
231                                                 $$CPU_KDEFS \
232                                                 ${XCFLAGS} -DAFS_32BIT_KERNEL_ENV \
233                                                 -c ${srcdir}/kdump.c -o kdump.$$IP.o \
234                                         ;; \
235                                 esac || exit $$?; \
236                         done \
237                         ;; \
238                 *nbsd*) \
239                         touch kdump.o ;; \
240                 *) \
241                         ${CC} $(DBG) -I${TOP_INCDIR}/afs -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} -c ${srcdir}/kdump.c ;; \
242         esac ;
243
244 kdump64.o : kdump.c ${INCLS} AFS_component_version_number.c
245         -set -x; \
246         case ${SYS_NAME} in \
247         sun4x_5[789] | hp_ux11* |sunx86_5[789] ) \
248                 ${CC} $(DBG) -I${TOP_INCDIR}/afs -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS64} -o kdump64.o -c ${srcdir}/kdump.c ;; \
249         esac
250
251 kdump:  kdump.o
252         -set -x; \
253         case ${SYS_NAME} in \
254         sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_54 | sun4c_54 | sun4m_54 | sunx86_5? ) \
255                 ${CC} -g -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a  ${TOP_LIBDIR}/util.a /usr/lib/libkvm.a -lelf ${XLIBS} ;; \
256         sun*_5? ) \
257                 ${CC} -g -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a  ${TOP_LIBDIR}/util.a  ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
258         sgi_6? ) \
259                 for f in ../libafs/STATIC.IP*/CPU_KDEFS; \
260                 do      IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \
261                         CPU_KDEFS=`sed 's/-mips.//' $$f`; \
262                         echo IP = $$IP; \
263                         echo CPU_KDEFS = $$CPU_KDEFS; \
264                         case $$CPU_KDEFS in \
265                         *-64*)  ${CC} ${XCFLAGS64} $(DBG) \
266                                         $$CPU_KDEFS \
267                                         -o kdump.$$IP kdump.$$IP.o \
268                                         ${TOP_LIBDIR}/libcmd64.a -lelf \
269                                 ;; \
270                         *)      ${CC} ${XCFLAGS} $(DBG) \
271                                         $$CPU_KDEFS \
272                                         -o kdump.$$IP kdump.$$IP.o \
273                                         ${TOP_LIBDIR}/libcmd.a -lelf \
274                                 ;; \
275                         esac || exit $$? ; \
276                 done ;; \
277         *alpha_linux* ) \
278                 $(MAKE) kdump-alpha_linux-@LINUX_VERSION@ ;; \
279         *linux* ) \
280                 $(MAKE) kdump-linux-@LINUX_VERSION@ ;; \
281         alpha_osf1 | alpha_osf20 |  alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux??) \
282                 ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a  ${TOP_LIBDIR}/util.a ${XLIBS} -ll -lmld;; \
283         ncrx86_* ) ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a  ${TOP_LIBDIR}/util.a -lelf ${XLIBS} ;; \
284         *nbsd*) touch kdump ;; \
285         * )     ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a  ${TOP_LIBDIR}/util.a ${XLIBS} ;; \
286         esac
287
288 ## kdump to read from 64 bit kernel dumps
289
290 kdump64 : kdump64.o
291         -set -x; \
292         case ${SYS_NAME} in \
293         sun4x_5[789] | hp_ux11* |sunx86_5[789] )  \
294                 ${CC} $(DBG) ${XCFLAGS64} -o kdump64 kdump64.o ${TOP_LIBDIR}/libcmd64.a ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
295         esac
296
297 #
298 # Install targets
299 #
300 install: \
301         ${DESTDIR}${bindir}/fs \
302         ${DESTDIR}${bindir}/livesys \
303         ${DESTDIR}${afssrvbindir}/fs \
304         ${DESTDIR}${bindir}/up \
305         ${DESTDIR}${sbindir}/fstrace \
306         ${DESTDIR}${bindir}/cmdebug \
307         ${DESTDIR}${sbindir}/kdump \
308         ${DESTDIR}${sbindir}/kdump64
309
310 #
311 # Misc targets
312 #
313
314 clean:
315         $(RM) -f *.o *.a up fs kdump-* kdump kdump64 core cmdebug AFS_component_version_number.c fstrace gcpags
316
317 test:
318         cd test; $(MAKE)
319
320 include ../config/Makefile.version
321
322 ${DESTDIR}${bindir}/fs: fs
323         ${INSTALL} -s $? $@
324
325 ${DESTDIR}${bindir}/livesys: livesys
326         ${INSTALL} -s $? $@
327
328 ${DESTDIR}${afssrvbindir}/fs: fs
329         ${INSTALL} -s $? $@
330
331 ${DESTDIR}${bindir}/up: up
332         ${INSTALL} -s $? $@
333
334 ${DESTDIR}${sbindir}/fstrace: fstrace
335         ${INSTALL} -s $? $@
336
337 ${DESTDIR}${bindir}/cmdebug: cmdebug
338         ${INSTALL} -s $? $@
339
340 ${DESTDIR}${sbindir}/kdump: kdump
341         -set -x; \
342         case ${SYS_NAME} in \
343         sgi_6? ) \
344                 ${INSTALLex} -f kdump.sh.sgi_ipnos $@; \
345                 ln -fs kdump ${DESTDIR}${sbindir}/kdump32; \
346                 ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP22; \
347                 ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP32; \
348                 for f in kdump.IP??; \
349                         do ${INSTALL} -s $$f ${DESTDIR}${sbindir}/$$f || exit $$? ; \
350                 done ;; \
351         sun*_5[789] ) \
352                 ${INSTALLex} -f kdump.sh.solaris7 $@; \
353                 ${INSTALL} -s -f $? ${DESTDIR}${sbindir}/kdump32;; \
354         *linux* ) \
355                 ${INSTALL} -s kdump-${LINUX_VERSION} ${DESTDIR}${sbindir}/kdump-${LINUX_VERSION} ;; \
356         hp_ux11* ) \
357                 ${INSTALLex} -f kdump.sh.hp_ux11 $@; \
358                 ${INSTALL} -s -f $? ${DESTDIR}${sbindir}/kdump32;; \
359         *) \
360                 ${INSTALL} -s $? $@ ;; \
361         esac
362
363 ${DESTDIR}${sbindir}/kdump64: kdump64
364         -set -x; \
365         case ${SYS_NAME} in \
366         sun4x_5[789] | hp_ux11* ) \
367                 ${INSTALL} -s $? $@ ;;\
368         * ) \
369                 echo skipping kdump64 for ${SYS_NAME} ;; \
370         esac
371
372 dest: \
373         ${DEST}/bin/fs \
374         ${DEST}/bin/livesys \
375         ${DEST}/root.server/usr/afs/bin/fs \
376         ${DEST}/bin/up \
377         ${DEST}/etc/fstrace \
378         ${DEST}/bin/cmdebug \
379         ${DEST}/etc/kdump \
380         ${DEST}/etc/kdump64
381