1 # Copyright 2000, International Business Machines Corporation and others.
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
9 include @TOP_OBJDIR@/src/config/Makefile.config
12 CCXPG2= /usr/xpg2bin/cc
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}
17 INCLS=${TOP_INCDIR}/afs/afsint.h \
18 ${TOP_INCDIR}/afs/cmd.h \
19 ${TOP_INCDIR}/afs/afsutil.h
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
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
50 all: fs up fstrace cmdebug livesys kdump kdump64
56 $(CC) ${CFLAGS} -o cacheout cacheout.o ${LIBS} ${XLIBS} ${CMLIBS}
58 cacheout.o: cacheout.c
60 ${DEST}/bin/fs ${DEST}/root.server/usr/afs/bin/fs: fs
63 ${DEST}/bin/livesys: livesys
69 ${DEST}/etc/fstrace: fstrace
72 ${DEST}/bin/cmdebug: cmdebug
75 ${DEST}/etc/kdump: kdump
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 $$? ; \
87 ${INSTALLex} -f ${srcdir}/kdump.sh.solaris7 $@; \
88 ${INSTALL} -s -f $? ${DEST}/etc/kdump32;; \
90 ${INSTALLex} -f ${srcdir}/kdump.sh.linux $@; \
91 ${INSTALL} -s kdump-alpha_linux-${LINUX_VERSION} ${DEST}/etc/kdump-${LINUX_VERSION} ;; \
93 ${INSTALLex} -f ${srcdir}/kdump.sh.linux $@; \
94 ${INSTALL} -s kdump-linux-${LINUX_VERSION} ${DEST}/etc/kdump-${LINUX_VERSION} ;; \
96 ${INSTALLex} -f ${srcdir}/kdump.sh.hp_ux11 $@; \
97 ${INSTALL} -s -f $? ${DEST}/etc/kdump32;; \
101 ${INSTALL} -s $? $@ ;; \
104 ${DEST}/etc/kdump64: kdump64
106 case ${SYS_NAME} in \
107 sun4x_5[789] | hp_ux11* |sunx86_5[789] ) \
108 ${INSTALL} -s $? $@ ;;\
110 echo skipping kdump64 for ${SYS_NAME} ;; \
114 up.o: up.c AFS_component_version_number.c
117 ${CC} ${CFLAGS} $(DBG) -o up up.o ${LIBS} ${XLIBS}
119 fs.o: fs.c ${INCLS} AFS_component_version_number.c
122 ${CC} ${CFLAGS} $(DBG) -o fs fs.o ${TOP_LIBDIR}/libprot.a $(LIBS) ${XLIBS}
124 livesys.o: livesys.c ${INCLS} AFS_component_version_number.c
126 livesys: livesys.c $(LIBS)
127 ${CC} $(DBG) -o livesys $(CFLAGS) ${srcdir}/livesys.c $(LIBS) ${XLIBS}
129 twiddle: twiddle.c $(LIBS)
130 ${CC} $(DBG) -o twiddle $(CFLAGS) twiddle.c $(LIBS) ${XLIBS}
132 gcpags: gcpags.c $(LIBS)
133 ${CC} $(DBG) -o gcpags $(CFLAGS) gcpags.c $(LIBS) ${XLIBS}
135 whatfid.o: whatfid.c ${INCLS} AFS_component_version_number.c
137 whatfid: whatfid.o ${LIBS}
138 ${CC} ${CFLAGS} $(DBG) -o whatfid whatfid.o ${LIBS} ${XLIBS}
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 ;; \
145 ${CC} -I/usr/xpg2include -I/usr/5include -g -I${TOP_SRCDIR}/config -I${TOP_INCDIR} -I${TOP_INCDIR} -c fstrace.c ;; \
147 ${CC} ${CFLAGS} $(DBG) -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} -I${TOP_INCDIR} -c ${srcdir}/fstrace.c ;; \
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 ;; \
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 ;; \
161 ${CC} ${CFLAGS} -o fstrace fstrace.o ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ;; \
164 cmdebug.o: cmdebug.c ${INCLS} AFS_component_version_number.c
166 cmdebug: cmdebug.o ${CMLIBS}
167 $(CC) -o cmdebug cmdebug.o ${CFLAGS} ${CMLIBS} ${XLIBS}
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.
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/config -I${TOP_OBJDIR}/src/libafs/afs \
178 -I${TOP_INCDIR} ${XCFLAGS} -o kdump-linux-${LINUX_VERSION}.o \
181 kdump-linux-@LINUX_VERSION@: kdump-linux-@LINUX_VERSION@.o
182 ${CC} $(DBG) -o kdump-linux-${LINUX_VERSION} kdump-linux-${LINUX_VERSION}.o \
183 ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS}
185 # *alpha_linux* - Builds kdump-X.Y.Z according to kernel version
186 kdump-alpha_linux-@LINUX_VERSION@.o: kdump.c ${INCLS} AFS_component_version_number.c
187 ${CC} $(DBG) -I${LINUX_KERNEL_PATH}/include -I${TOP_INCDIR}/afs \
188 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src/libafs/afs \
189 -I${TOP_INCDIR} ${XCFLAGS} -mno-fp-regs -ffixed-8 \
190 -o kdump-alpha_linux-${LINUX_VERSION}.o -c ${srcdir}/kdump.c ;; \
192 kdump-alpha_linux-@LINUX_VERSION@: kdump-alpha_linux-@LINUX_VERSION@.o
193 ${CC} $(DBG) -o kdump-alpha_linux-${LINUX_VERSION} kdump-alpha_linux-${LINUX_VERSION}.o \
194 ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS}
199 kdump.o: kdump.c ${INCLS} AFS_component_version_number.c
201 case ${SYS_NAME} in \
203 $(MAKE) kdump-alpha_linux-${LINUX_VERSION}.o ;; \
205 $(MAKE) kdump-linux-${LINUX_VERSION}.o ;; \
206 alpha_osf1 | alpha_osf20 | alpha_osf30 | alpha_osf32 | alpha_osf32c| alpha_dux?? ) \
207 ${CC} $(DBG) ${CFLAGS} -I/usr/sys/include -I/usr/sys/BINARY -I/usr/sys/AFS -DDEBUGGER -c ${srcdir}/kdump.c ;;\
209 for f in ../libafs/STATIC.IP*/CPU_KDEFS; \
210 do IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \
211 CPU_KDEFS=`sed 's/-mips.//' $$f`; \
213 echo CPU_KDEFS = $$CPU_KDEFS; \
214 case $$CPU_KDEFS in \
215 *-64*) ${CC} -D_KMEMUSER -woff 1178 \
216 $(DBG) -I${TOP_INCDIR} \
217 -I${TOP_OBJDIR}/src/config \
220 -c ${srcdir}/kdump.c -o kdump.$$IP.o \
222 *) ${CC} -D_KMEMUSER -woff 1178 \
223 $(DBG) -I${TOP_INCDIR} \
224 -I${TOP_OBJDIR}/src/config \
226 ${XCFLAGS} -DAFS_32BIT_KERNEL_ENV \
227 -c ${srcdir}/kdump.c -o kdump.$$IP.o \
235 ${CC} $(DBG) -I${TOP_INCDIR}/afs -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} -c ${srcdir}/kdump.c ;; \
238 kdump64.o : kdump.c ${INCLS} AFS_component_version_number.c
240 case ${SYS_NAME} in \
241 sun4x_5[789] | hp_ux11* |sunx86_5[789] ) \
242 ${CC} $(DBG) -I${TOP_INCDIR}/afs -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS64} -o kdump64.o -c ${srcdir}/kdump.c ;; \
247 case ${SYS_NAME} in \
248 sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_54 | sun4c_54 | sun4m_54 | sunx86_5? ) \
249 ${CC} -g -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a /usr/lib/libkvm.a -lelf ${XLIBS} ;; \
251 ${CC} -g -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
253 for f in ../libafs/STATIC.IP*/CPU_KDEFS; \
254 do IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \
255 CPU_KDEFS=`sed 's/-mips.//' $$f`; \
257 echo CPU_KDEFS = $$CPU_KDEFS; \
258 case $$CPU_KDEFS in \
259 *-64*) ${CC} ${XCFLAGS64} $(DBG) \
261 -o kdump.$$IP kdump.$$IP.o \
262 ${TOP_LIBDIR}/libcmd64.a -lelf \
264 *) ${CC} ${XCFLAGS} $(DBG) \
266 -o kdump.$$IP kdump.$$IP.o \
267 ${TOP_LIBDIR}/libcmd.a -lelf \
272 $(MAKE) kdump-alpha_linux-@LINUX_VERSION@ ;; \
274 $(MAKE) kdump-linux-@LINUX_VERSION@ ;; \
275 alpha_osf1 | alpha_osf20 | alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux??) \
276 ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS} -ll -lmld;; \
277 ncrx86_* ) ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a -lelf ${XLIBS} ;; \
278 *nbsd*) touch kdump ;; \
279 * ) ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS} ;; \
282 ## kdump to read from 64 bit kernel dumps
286 case ${SYS_NAME} in \
287 sun4x_5[789] | hp_ux11* |sunx86_5[789] ) \
288 ${CC} $(DBG) ${XCFLAGS64} -o kdump64 kdump64.o ${TOP_LIBDIR}/libcmd64.a ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
295 ${DESTDIR}${bindir}/fs \
296 ${DESTDIR}${bindir}/livesys \
297 ${DESTDIR}${afssrvbindir}/fs \
298 ${DESTDIR}${bindir}/up \
299 ${DESTDIR}${sbindir}/fstrace \
300 ${DESTDIR}${bindir}/cmdebug \
301 ${DESTDIR}${sbindir}/kdump \
302 ${DESTDIR}${sbindir}/kdump64
309 $(RM) -f *.o *.a up fs kdump-* kdump kdump64 core cmdebug AFS_component_version_number.c fstrace gcpags
314 include ../config/Makefile.version
316 ${DESTDIR}${bindir}/fs: fs
319 ${DESTDIR}${bindir}/livesys: livesys
322 ${DESTDIR}${afssrvbindir}/fs: fs
325 ${DESTDIR}${bindir}/up: up
328 ${DESTDIR}${sbindir}/fstrace: fstrace
331 ${DESTDIR}${bindir}/cmdebug: cmdebug
334 ${DESTDIR}${sbindir}/kdump: kdump
336 case ${SYS_NAME} in \
338 ${INSTALLex} -f kdump.sh.sgi_ipnos $@; \
339 ln -fs kdump ${DESTDIR}${sbindir}/kdump32; \
340 ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP22; \
341 ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP32; \
342 for f in kdump.IP??; \
343 do ${INSTALL} -s $$f ${DESTDIR}${sbindir}/$$f || exit $$? ; \
346 ${INSTALLex} -f kdump.sh.solaris7 $@; \
347 ${INSTALL} -s -f $? ${DESTDIR}${sbindir}/kdump32;; \
349 ${INSTALL} -s kdump-${LINUX_VERSION} ${DESTDIR}${sbindir}/kdump-${LINUX_VERSION} ;; \
351 ${INSTALLex} -f kdump.sh.hp_ux11 $@; \
352 ${INSTALL} -s -f $? ${DESTDIR}${sbindir}/kdump32;; \
354 ${INSTALL} -s $? $@ ;; \
357 ${DESTDIR}${sbindir}/kdump64: kdump64
359 case ${SYS_NAME} in \
360 sun4x_5[789] | hp_ux11* ) \
361 ${INSTALL} -s $? $@ ;;\
363 echo skipping kdump64 for ${SYS_NAME} ;; \
368 ${DEST}/bin/livesys \
369 ${DEST}/root.server/usr/afs/bin/fs \
371 ${DEST}/etc/fstrace \
372 ${DEST}/bin/cmdebug \