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
11 INSTALL_DATA = @INSTALL_DATA@
12 INSTALL_PROGRAM = @INSTALL_PROGRAM@
13 INSTALL_SCRIPT = @INSTALL_SCRIPT@
15 INCLS=${TOP_INCDIR}/afs/afsint.h \
16 ${TOP_INCDIR}/afs/cmd.h \
17 ${TOP_INCDIR}/afs/afsutil.h
19 FSLIBS=${TOP_LIBDIR}/libsys.a \
20 ${TOP_LIBDIR}/libvldb.a \
21 ${TOP_LIBDIR}/libubik.a \
22 ${TOP_LIBDIR}/vlib.a \
23 ${TOP_LIBDIR}/libauth.a \
24 ${TOP_LIBDIR}/librxkad.a \
25 ${TOP_LIBDIR}/libcom_err.a \
26 ${TOP_LIBDIR}/libcmd.a \
27 ${TOP_LIBDIR}/libkauth.a \
28 ${TOP_LIBDIR}/libdes.a \
29 ${TOP_LIBDIR}/librx.a \
30 ${TOP_LIBDIR}/libsys.a \
31 ${TOP_LIBDIR}/liblwp.a \
32 ${TOP_LIBDIR}/libaudit.a \
33 $(TOP_LIBDIR)/libafsutil.a
35 CMLIBS=${TOP_LIBDIR}/libsys.a \
36 ${TOP_LIBDIR}/libafsint.a \
37 ${TOP_LIBDIR}/librxkad.a \
38 ${TOP_LIBDIR}/libauth.a \
39 ${TOP_LIBDIR}/libcom_err.a \
40 ${TOP_LIBDIR}/libcmd.a \
41 ${TOP_LIBDIR}/librx.a \
42 ${TOP_LIBDIR}/libsys.a \
43 ${TOP_LIBDIR}/liblwp.a \
44 $(TOP_LIBDIR)/libafsutil.a
48 all: fs up fstrace cmdebug livesys kdump-build
54 $(CC) ${CFLAGS} -o cacheout cacheout.o ${LIBS} ${XLIBS} ${CMLIBS}
56 cacheout.o: cacheout.c
59 up.o: up.c AFS_component_version_number.c
62 ${CC} ${CFLAGS} -o up up.o ${LIBS} ${XLIBS}
64 fs.o: fs.c ${INCLS} AFS_component_version_number.c
67 ${CC} ${CFLAGS} -o fs fs.o ${TOP_LIBDIR}/libprot.a $(LIBS) ${XLIBS}
69 livesys.o: livesys.c ${INCLS} AFS_component_version_number.c
71 livesys: livesys.c $(LIBS)
72 ${CC} ${CFLAGS} -o livesys ${srcdir}/livesys.c $(LIBS) ${XLIBS}
74 twiddle: twiddle.c $(LIBS)
75 ${CC} ${CFLAGS} -o twiddle ${srcdir}/twiddle.c $(LIBS) ${XLIBS}
77 gcpags: gcpags.c $(LIBS)
78 ${CC} ${CFLAGS} -o gcpags ${srcdir}/gcpags.c $(LIBS) ${XLIBS}
80 whatfid.o: whatfid.c ${INCLS} AFS_component_version_number.c
82 whatfid: whatfid.o ${LIBS}
83 ${CC} ${CFLAGS} -o whatfid whatfid.o ${LIBS} ${XLIBS}
85 fstrace.o: fstrace.c AFS_component_version_number.c
87 sun4_411 | sun4c_411 | sun4m_412 ) \
88 ${CCXPG2} ${DBG} ${OPTMZ} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} -I${TOP_INCDIR} -c ${srcdir}/fstrace.c ;; \
90 ${CC} ${DBG} ${OPTMZ} -I/usr/xpg2include -I/usr/5include -g -I${TOP_SRCDIR}/config -I${TOP_INCDIR} -I${TOP_INCDIR} -c fstrace.c ;; \
92 ${CC} ${CFLAGS} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} -I${TOP_INCDIR} -c ${srcdir}/fstrace.c ;; \
97 sun4_411 | sun4c_411 | sun4m_412 ) \
98 ${CCXPG2} ${CFLAGS} -o fstrace fstrace.o ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ;; \
100 ${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 ;; \
101 hp700_ux100 | hp800_ux100 | hp?00_ux10? | hp_ux10? | hp_ux11?) \
102 ${CC} -I${TOP_OBJDIR}/src/config -o fstrace fstrace.o ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ;; \
104 ${CC} ${CFLAGS} -o fstrace fstrace.o ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS} ;; \
107 cmdebug.o: cmdebug.c ${INCLS} AFS_component_version_number.c
109 cmdebug: cmdebug.o ${CMLIBS}
110 $(CC) -o cmdebug cmdebug.o ${CFLAGS} ${CMLIBS} ${XLIBS}
112 dedebug.o: dedebug.c ${INCLS} AFS_component_version_number.c
114 dedebug: dedebug.o ${CMLIBS}
115 $(CC) -o dedebug dedebug.o ${CFLAGS} ${CMLIBS} ${XLIBS}
120 # Kernel info dumper - these are done with submakes so that
121 # the build process does not attempt to rebuild them every time it runs.
125 # Branching target, run the actual build depending on sysname
127 kdump-build: kdump.c ${INCLS} AFS_component_version_number.c
128 $(MAKE) kdump kdump64
132 # Build targets - one for each type of kdump build process we have
136 case ${SYS_NAME} in \
137 sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_54 | sun4c_54 | sun4m_54 | sunx86_5? ) \
138 ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a /usr/lib/libkvm.a -lelf ${XLIBS} ;; \
139 sun*_5? | sun*_5?? ) \
140 ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
142 for f in ../libafs/STATIC.IP*/CPU_KDEFS; \
143 do IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \
144 CPU_KDEFS=`sed 's/-mips.//' $$f`; \
146 echo CPU_KDEFS = $$CPU_KDEFS; \
147 case $$CPU_KDEFS in \
148 *-64*) ${CC} ${XCFLAGS64} \
150 -o kdump.$$IP kdump.$$IP.o \
151 ${TOP_LIBDIR}/libcmd64.a -lelf \
153 *) ${CC} ${XCFLAGS} ${ARCHFLAGS} \
155 -o kdump.$$IP kdump.$$IP.o \
156 ${TOP_LIBDIR}/libcmd.a -lelf \
160 *linux26* | *linux_26* ) \
163 $(MAKE) kdump-alpha_linux-@LINUX_VERSION@ ;; \
165 $(MAKE) kdump-linux-@LINUX_VERSION@ ;; \
166 alpha_osf1 | alpha_osf20 | alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux??) \
167 ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS} -ll -lmld;; \
168 ncrx86_* ) ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a -lelf ${XLIBS} ;; \
169 *bsd*) touch kdump ;; \
170 * ) ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS} ;; \
175 case ${SYS_NAME} in \
176 sun4x_5[789] | sun4x_510 | hp_ux11* | sunx86_5[789] | sunx86_510 ) \
177 $(MAKE) kdump64.o ; \
178 ${CC} ${XCFLAGS64} -o kdump64 kdump64.o ${TOP_LIBDIR}/libcmd64.a ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
182 kdump.o: kdump.c ${INCLS} AFS_component_version_number.c
184 case ${SYS_NAME} in \
185 *linux26* | *linux_26* ) \
188 $(MAKE) kdump-alpha_linux-${LINUX_VERSION}.o ;; \
190 $(MAKE) kdump-linux-${LINUX_VERSION}.o ;; \
191 alpha_osf1 | alpha_osf20 | alpha_osf30 | alpha_osf32 | alpha_osf32c| alpha_dux?? ) \
192 ${CC} ${CFLAGS} -I/usr/sys/include -I/usr/sys/BINARY -I/usr/sys/AFS -DDEBUGGER -c ${srcdir}/kdump.c ;;\
194 for f in ../libafs/STATIC.IP*/CPU_KDEFS; \
195 do IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \
196 CPU_KDEFS=`sed 's/-mips.//' $$f`; \
198 echo CPU_KDEFS = $$CPU_KDEFS; \
199 case $$CPU_KDEFS in \
200 *-64*) ${CC} -D_KMEMUSER -woff 1178 \
201 ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_INCDIR} \
202 -I${TOP_OBJDIR}/src/config \
205 -c ${srcdir}/kdump.c -o kdump.$$IP.o \
207 *) ${CC} -D_KMEMUSER -woff 1178 \
208 ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_INCDIR} \
209 -I${TOP_OBJDIR}/src/config \
211 ${XCFLAGS} ${ARCHFLAGS} -DAFS_32BIT_KERNEL_ENV \
212 -c ${srcdir}/kdump.c -o kdump.$$IP.o \
220 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_SRCDIR} -I${TOP_INCDIR}/afs \
221 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS} \
222 -o kdump.o -c ${srcdir}/kdump.c ;; \
225 kdump64.o : kdump.c ${INCLS} AFS_component_version_number.c
227 case ${SYS_NAME} in \
228 sun4x_5[789] | sun4x_510 | hp_ux11* | sunx86_5[789] | sunx86_510 ) \
229 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_SRCDIR} -I${TOP_INCDIR}/afs \
230 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src -I${TOP_INCDIR} ${XCFLAGS64} \
231 -o kdump64.o -c ${srcdir}/kdump.c ;; \
234 # *linux* - Builds kdump-X.Y.Z according to kernel version
235 kdump-linux-@LINUX_VERSION@.o: kdump.c ${INCLS} AFS_component_version_number.c
236 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -I${LINUX_KERNEL_PATH}/include -I${TOP_INCDIR}/afs \
237 -I${TOP_OBJDIR}/src \
238 -I${TOP_OBJDIR}/src/afs/${MKAFS_OSTYPE} \
239 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src/libafs/afs \
240 -I${TOP_SRCDIR} -I${TOP_SRCDIR}/afs/${MKAFS_OSTYPE} \
241 -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS} -o kdump-linux-${LINUX_VERSION}.o \
244 kdump-linux-@LINUX_VERSION@: kdump-linux-@LINUX_VERSION@.o
245 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -o kdump-linux-${LINUX_VERSION} kdump-linux-${LINUX_VERSION}.o \
246 ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS}
248 # *alpha_linux* - Builds kdump-X.Y.Z according to kernel version
249 kdump-alpha_linux-@LINUX_VERSION@.o: kdump.c ${INCLS} AFS_component_version_number.c
250 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -I${LINUX_KERNEL_PATH}/include -I${TOP_INCDIR}/afs \
251 -I${TOP_OBJDIR}/src \
252 -I${TOP_OBJDIR}/src/afs/${MKAFS_OSTYPE} \
253 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src/libafs/afs \
254 -I${TOP_SRCDIR} -I${TOP_SRCDIR}/afs/${MKAFS_OSTYPE} \
255 -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS} -mno-fp-regs -ffixed-8 \
256 -o kdump-alpha_linux-${LINUX_VERSION}.o -c ${srcdir}/kdump.c ;; \
258 kdump-alpha_linux-@LINUX_VERSION@: kdump-alpha_linux-@LINUX_VERSION@.o
259 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -o kdump-alpha_linux-${LINUX_VERSION} kdump-alpha_linux-${LINUX_VERSION}.o \
260 ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS}
265 install: kdump-build fs livesys up fstrace cmdebug
266 ${INSTALL} -d ${DESTDIR}${bindir}
267 ${INSTALL} -d ${DESTDIR}${afssrvbindir}
268 ${INSTALL} -d ${DESTDIR}${sbindir}
269 ${INSTALL_PROGRAM} fs ${DESTDIR}${bindir}/fs
270 ${INSTALL_PROGRAM} livesys ${DESTDIR}${bindir}/livesys
271 ${INSTALL_PROGRAM} fs ${DESTDIR}${afssrvbindir}/fs
272 ${INSTALL_PROGRAM} up ${DESTDIR}${bindir}/up
273 ${INSTALL_PROGRAM} fstrace ${DESTDIR}${sbindir}/fstrace
274 ${INSTALL_PROGRAM} cmdebug ${DESTDIR}${bindir}/cmdebug
276 case ${SYS_NAME} in \
278 ${INSTALL_SCRIPT} kdump.sh.sgi_ipnos ${DESTDIR}${sbindir}/kdump; \
279 ln -fs kdump ${DESTDIR}${sbindir}/kdump32; \
280 ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP22; \
281 ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP32; \
282 for f in kdump.IP??; \
283 do ${INSTALL_PROGRAM} $$f ${DESTDIR}${sbindir}/$$f || exit $$? ; \
285 sun*_5[789] | sun*_510 ) \
286 ${INSTALL_SCRIPT} kdump.sh.solaris7 ${DESTDIR}${sbindir}/kdump32; \
287 ${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump;; \
288 *linux26* | *linux_26* ) \
291 ${INSTALL_SCRIPT} kdump.sh.linux ${DESTDIR}${sbindir}/kdump; \
292 ${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump ;; \
294 ${INSTALL_SCRIPT} kdump.sh.hp_ux11 ${DESTDIR}${sbindir}/kdump; \
295 ${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump ;; \
297 ${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump ;; \
299 if [ -f kdump64 ]; then \
300 ${INSTALL_PROGRAM} kdump64 ${DESTDIR}${sbindir}/kdump; \
303 dest: kdump-build fs livesys up fstrace cmdebug
304 ${INSTALL} -d ${DEST}/bin
305 ${INSTALL} -d ${DEST}/etc
306 ${INSTALL} -d ${DEST}/root.server/usr/afs/bin
307 ${INSTALL_PROGRAM} fs ${DEST}/bin/fs
308 ${INSTALL_PROGRAM} livesys ${DEST}/bin/livesys
309 ${INSTALL_PROGRAM} fs ${DEST}/root.server/usr/afs/bin/fs
310 ${INSTALL_PROGRAM} up ${DEST}/bin/up
311 ${INSTALL_PROGRAM} fstrace ${DEST}/etc/fstrace
312 ${INSTALL_PROGRAM} cmdebug ${DEST}/bin/cmdebug
314 case ${SYS_NAME} in \
316 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.sgi_ipnos ${DEST}/etc/kdump; \
317 ln -fs kdump ${DEST}/etc/kdump32; \
318 ln -fs kdump.IP20 ${DEST}/etc/kdump.IP22; \
319 ln -fs kdump.IP20 ${DEST}/etc/kdump.IP32; \
320 for f in kdump.IP??; \
321 do ${INSTALL_PROGRAM} $$f ${DEST}/etc/$$f || exit $$? ; \
323 sun*_5[789] | sun*_510 ) \
324 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.solaris7 ${DEST}/etc/kdump; \
325 ${INSTALL_PROGRAM} ${srcdir}/kdump ${DEST}/etc/kdump32;; \
326 *linux26* | *linux_26* ) \
329 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
330 ${INSTALL_PROGRAM} kdump-alpha_linux-${LINUX_VERSION} ${DEST}/etc/kdump-${LINUX_VERSION} ;; \
332 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
333 ${INSTALL_PROGRAM} kdump-linux-${LINUX_VERSION} ${DEST}/etc/kdump-${LINUX_VERSION} ;; \
335 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.hp_ux11 ${DEST}/etc/kdump32; \
336 ${INSTALL_PROGRAM} kdump-build ${DEST}/etc/kdump ;; \
340 ${INSTALL_PROGRAM} kdump-build ${DEST}/etc/kdump ;; \
342 if [ -f kdump64 ]; then \
343 ${INSTALL_PROGRAM} kdump64 ${DEST}/etc/kdump; \
351 $(RM) -f *.o *.a up fs kdump-* kdump kdump64 core cmdebug AFS_component_version_number.c fstrace gcpags livesys dedebug
356 include ../config/Makefile.version