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
10 include @TOP_OBJDIR@/src/config/Makefile.lwp
12 KRB5CFLAGS = @KRB5_CPPFLAGS@
14 INCLS=${TOP_INCDIR}/afs/afsint.h \
15 ${TOP_INCDIR}/afs/cmd.h \
16 ${TOP_INCDIR}/afs/afsutil.h
18 AFSIO_INCLS=${TOP_INCDIR}/afs/afsint.h \
19 ${TOP_INCDIR}/afs/cmd.h \
20 ${TOP_INCDIR}/afs/auth.h \
21 ${TOP_INCDIR}/afs/vlserver.h \
22 ${TOP_INCDIR}/afs/ihandle.h \
23 ${TOP_INCDIR}/afs/com_err.h \
24 ${TOP_INCDIR}/afs/afscp.h \
25 ${TOP_INCDIR}/afs/afsutil.h
27 AFSIO_LIBS=${TOP_LIBDIR}/libafscp.a \
28 ${TOP_LIBDIR}/libafsauthent.a \
29 $(top_builddir)/src/rxkad/liboafs_rxkad.la \
30 $(top_builddir)/src/fsint/liboafs_fsint.la \
31 $(top_builddir)/src/cmd/liboafs_cmd.la \
32 $(top_builddir)/src/util/liboafs_util.la \
33 $(top_builddir)/src/opr/liboafs_opr.la
35 FSLIBS=${TOP_LIBDIR}/libsys.a \
36 ${TOP_LIBDIR}/libvldb.a \
37 ${TOP_LIBDIR}/libubik.a \
38 ${TOP_LIBDIR}/vlib.a \
39 ${TOP_LIBDIR}/libauth.a \
40 ${TOP_LIBDIR}/librxkad.a \
41 ${TOP_LIBDIR}/libafscom_err.a \
42 ${TOP_LIBDIR}/libcmd.a \
43 ${TOP_LIBDIR}/libkauth.a \
44 ${TOP_LIBDIR}/librx.a \
45 ${TOP_LIBDIR}/libsys.a \
46 ${TOP_LIBDIR}/liblwp.a \
47 ${TOP_LIBDIR}/libaudit.a \
48 $(TOP_LIBDIR)/libafsutil.a \
49 $(TOP_LIBDIR)/libopr.a \
50 ${TOP_LIBDIR}/libafshcrypto_lwp.a
52 CMLIBS=${TOP_LIBDIR}/libsys.a \
53 ${TOP_LIBDIR}/libafsint.a \
54 ${TOP_LIBDIR}/librxkad.a \
55 ${TOP_LIBDIR}/libauth.a \
56 ${TOP_LIBDIR}/libafscom_err.a \
57 ${TOP_LIBDIR}/libcmd.a \
58 ${TOP_LIBDIR}/librx.a \
59 ${TOP_LIBDIR}/libsys.a \
60 ${TOP_LIBDIR}/liblwp.a \
61 $(TOP_LIBDIR)/libopr.a \
62 $(TOP_LIBDIR)/libafsutil.a
66 all: fs up fstrace cmdebug livesys kdump-build cacheout afsio
72 $(AFS_LDRULE) cacheout.o ${LIBS} $(LIB_roken) ${XLIBS} ${CMLIBS}
74 cacheout.o: cacheout.c
77 up.o: up.c AFS_component_version_number.c
80 $(AFS_LDRULE) up.o ${LIBS} $(LIB_roken) ${XLIBS}
82 fs.o: fs.c ${INCLS} AFS_component_version_number.c
85 $(AFS_LDRULE) fs.o ${TOP_LIBDIR}/libprot.a $(LIBS) \
88 afsio.o: afsio.c ${AFSIO_INCLS} AFS_component_version_number.c
89 ${PTH_CCRULE} ${srcdir}/afsio.c
90 vldbint.cs.o: ../vlserver/vldbint.cs.c
91 ${PTH_CCRULE} ../vlserver/vldbint.cs.c
92 vldbint.xdr.o: ../vlserver/vldbint.xdr.c
93 ${PTH_CCRULE} ../vlserver/vldbint.xdr.c
94 afscbint.ss.o: ../fsint/afscbint.ss.c
95 ${PTH_CCRULE} ../fsint/afscbint.ss.c
97 afsio: afsio.o vldbint.cs.o afscbint.ss.o vldbint.xdr.o ${AFSIO_LIBS}
98 $(LT_LDRULE_static) afsio.o vldbint.cs.o afscbint.ss.o vldbint.xdr.o \
100 $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS} ${XLIBS} \
101 $(LDFLAGS_krb5) $(LIB_krb5)
103 livesys.o: livesys.c ${INCLS} AFS_component_version_number.c
105 livesys: livesys.o $(LIBS)
106 $(AFS_LDRULE) livesys.o $(LIBS) $(LIB_roken) ${XLIBS}
108 twiddle: twiddle.o $(LIBS)
109 $(AFS_LDRULE) twiddle.o $(LIBS) $(LIB_roken) ${XLIBS}
111 gcpags: gcpags.o $(LIBS)
112 $(AFS_LDRULE) gcpags.o $(LIBS) $(LIB_roken) ${XLIBS}
114 whatfid.o: whatfid.c ${INCLS} AFS_component_version_number.c
116 whatfid: whatfid.o ${LIBS}
117 $(AFS_LDRULE) whatfid.o ${LIBS} $(LIB_roken) ${XLIBS}
120 $(AFS_LDRULE) fstrace.o $(LIBS) $(LIB_roken) ${XLIBS}
122 cmdebug.o: cmdebug.c ${INCLS} AFS_component_version_number.c
124 cmdebug: cmdebug.o ${CMLIBS}
125 $(AFS_LDRULE) cmdebug.o ${CMLIBS} $(LIB_roken) ${XLIBS}
127 dedebug.o: dedebug.c ${INCLS} AFS_component_version_number.c
129 dedebug: dedebug.o ${CMLIBS}
130 $(AFS_LDRULE) dedebug.o ${CMLIBS} $(LIB_roken) ${XLIBS}
133 # Kernel info dumper - these are done with submakes so that
134 # the build process does not attempt to rebuild them every time it runs.
138 # Branching target, run the actual build depending on sysname
140 kdump-build: kdump.c ${INCLS} AFS_component_version_number.c
141 $(MAKE) kdump kdump64
145 # Build targets - one for each type of kdump build process we have
149 case ${SYS_NAME} in \
150 sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_54 | sun4c_54 | sun4m_54 | sunx86_5? ) \
151 ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a /usr/lib/libkvm.a -lelf ${XLIBS} ;; \
152 sun*_5? | sun*_5?? ) \
153 ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
155 for f in ../libafs/STATIC.IP*/CPU_KDEFS; \
156 do IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \
157 CPU_KDEFS=`sed 's/-mips.//' $$f`; \
159 echo CPU_KDEFS = $$CPU_KDEFS; \
160 case $$CPU_KDEFS in \
161 *-64*) ${CC} ${XCFLAGS64} \
163 -o kdump.$$IP kdump.$$IP.o \
164 ${TOP_LIBDIR}/libcmd64.a -lelf \
166 *) ${CC} ${XCFLAGS} ${ARCHFLAGS} \
168 -o kdump.$$IP kdump.$$IP.o \
169 ${TOP_LIBDIR}/libcmd.a -lelf \
173 *linux26* | *linux_26* ) \
176 $(MAKE) kdump-alpha_linux-@LINUX_VERSION@ ;; \
178 $(MAKE) kdump-linux-@LINUX_VERSION@ ;; \
179 alpha_osf1 | alpha_osf20 | alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux??) \
180 ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS} -ll -lmld;; \
181 ncrx86_* ) ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a -lelf ${XLIBS} ;; \
182 *bsd*) touch kdump ;; \
183 * ) ${CC} -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS} ;; \
188 case ${SYS_NAME} in \
189 sun4x_5[789] | sun4x_510 | hp_ux11* | sunx86_5[789] | sunx86_510 ) \
190 $(MAKE) kdump64.o ; \
191 ${CC} ${XCFLAGS64} -o kdump64 kdump64.o ${TOP_LIBDIR}/libcmd64.a ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
195 kdump.o: kdump.c ${INCLS} AFS_component_version_number.c
197 case ${SYS_NAME} in \
198 *linux26* | *linux_26* ) \
201 $(MAKE) kdump-alpha_linux-${LINUX_VERSION}.o ;; \
203 $(MAKE) kdump-linux-${LINUX_VERSION}.o ;; \
204 alpha_osf1 | alpha_osf20 | alpha_osf30 | alpha_osf32 | alpha_osf32c| alpha_dux?? ) \
205 ${CC} ${AFS_CFLAGS} -I/usr/sys/include -I/usr/sys/BINARY -I/usr/sys/AFS -DDEBUGGER -c ${srcdir}/kdump.c ;;\
207 for f in ../libafs/STATIC.IP*/CPU_KDEFS; \
208 do IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \
209 CPU_KDEFS=`sed 's/-mips.//' $$f`; \
211 echo CPU_KDEFS = $$CPU_KDEFS; \
212 case $$CPU_KDEFS in \
213 *-64*) ${CC} -D_KMEMUSER -woff 1178 \
214 ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_INCDIR} \
215 -I${TOP_OBJDIR}/src/config \
218 -c ${srcdir}/kdump.c -o kdump.$$IP.o \
220 *) ${CC} -D_KMEMUSER -woff 1178 \
221 ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_INCDIR} \
222 -I${TOP_OBJDIR}/src/config \
224 ${XCFLAGS} ${ARCHFLAGS} -DAFS_32BIT_KERNEL_ENV \
225 -c ${srcdir}/kdump.c -o kdump.$$IP.o \
233 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_SRCDIR} -I${TOP_INCDIR}/afs \
234 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS} \
235 -o kdump.o -c ${srcdir}/kdump.c ;; \
238 kdump64.o : kdump.c ${INCLS} AFS_component_version_number.c
240 case ${SYS_NAME} in \
241 sun4x_5[789] | sun4x_510 | hp_ux11* | sunx86_5[789] | sunx86_510 ) \
242 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_SRCDIR} -I${TOP_INCDIR}/afs \
243 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src -I${TOP_INCDIR} ${XCFLAGS64} \
244 -o kdump64.o -c ${srcdir}/kdump.c ;; \
247 # *linux* - Builds kdump-X.Y.Z according to kernel version
248 kdump-linux-@LINUX_VERSION@.o: kdump.c ${INCLS} AFS_component_version_number.c
249 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -I${LINUX_KERNEL_PATH}/include -I${TOP_INCDIR}/afs \
250 -I${TOP_OBJDIR}/src \
251 -I${TOP_OBJDIR}/src/afs/${MKAFS_OSTYPE} \
252 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src/libafs/afs \
253 -I${TOP_SRCDIR} -I${TOP_SRCDIR}/afs/${MKAFS_OSTYPE} \
254 -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS} -o kdump-linux-${LINUX_VERSION}.o \
257 kdump-linux-@LINUX_VERSION@: kdump-linux-@LINUX_VERSION@.o
258 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -o kdump-linux-${LINUX_VERSION} kdump-linux-${LINUX_VERSION}.o \
259 ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS}
261 # *alpha_linux* - Builds kdump-X.Y.Z according to kernel version
262 kdump-alpha_linux-@LINUX_VERSION@.o: kdump.c ${INCLS} AFS_component_version_number.c
263 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -I${LINUX_KERNEL_PATH}/include -I${TOP_INCDIR}/afs \
264 -I${TOP_OBJDIR}/src \
265 -I${TOP_OBJDIR}/src/afs/${MKAFS_OSTYPE} \
266 -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src/libafs/afs \
267 -I${TOP_SRCDIR} -I${TOP_SRCDIR}/afs/${MKAFS_OSTYPE} \
268 -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS} -mno-fp-regs -ffixed-8 \
269 -o kdump-alpha_linux-${LINUX_VERSION}.o -c ${srcdir}/kdump.c ;;
271 kdump-alpha_linux-@LINUX_VERSION@: kdump-alpha_linux-@LINUX_VERSION@.o
272 ${CC} ${KERN_DBG} ${KERN_OPTMZ} -o kdump-alpha_linux-${LINUX_VERSION} kdump-alpha_linux-${LINUX_VERSION}.o \
273 ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBS}
278 install: kdump-build fs livesys up fstrace cmdebug afsio
279 ${INSTALL} -d ${DESTDIR}${bindir}
280 ${INSTALL} -d ${DESTDIR}${afssrvbindir}
281 ${INSTALL} -d ${DESTDIR}${sbindir}
282 ${INSTALL_PROGRAM} fs ${DESTDIR}${bindir}/fs
283 ${INSTALL_PROGRAM} livesys ${DESTDIR}${bindir}/livesys
284 ${INSTALL_PROGRAM} fs ${DESTDIR}${afssrvbindir}/fs
285 ${INSTALL_PROGRAM} up ${DESTDIR}${bindir}/up
286 ${INSTALL_PROGRAM} fstrace ${DESTDIR}${sbindir}/fstrace
287 ${INSTALL_PROGRAM} cmdebug ${DESTDIR}${bindir}/cmdebug
288 ${INSTALL_PROGRAM} afsio ${DESTDIR}${bindir}/afsio ;
290 case ${SYS_NAME} in \
292 ${INSTALL_SCRIPT} kdump.sh.sgi_ipnos ${DESTDIR}${sbindir}/kdump; \
293 ln -fs kdump ${DESTDIR}${sbindir}/kdump32; \
294 ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP22; \
295 ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP32; \
296 for f in kdump.IP??; \
297 do ${INSTALL_PROGRAM} $$f ${DESTDIR}${sbindir}/$$f || exit $$? ; \
299 sun*_5[789] | sun*_510 ) \
300 ${INSTALL_SCRIPT} kdump.sh.solaris7 ${DESTDIR}${sbindir}/kdump32; \
301 ${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump;; \
302 *linux26* | *linux_26* ) \
305 ${INSTALL_SCRIPT} kdump.sh.linux ${DESTDIR}${sbindir}/kdump; \
306 ${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump ;; \
308 ${INSTALL_SCRIPT} kdump.sh.hp_ux11 ${DESTDIR}${sbindir}/kdump; \
309 ${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump ;; \
313 ${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump ;; \
315 if [ -f kdump64 ]; then \
316 ${INSTALL_PROGRAM} kdump64 ${DESTDIR}${sbindir}/kdump; \
319 dest: kdump-build fs livesys up fstrace cmdebug afsio
320 ${INSTALL} -d ${DEST}/bin
321 ${INSTALL} -d ${DEST}/etc
322 ${INSTALL} -d ${DEST}/root.server/usr/afs/bin
323 ${INSTALL_PROGRAM} fs ${DEST}/bin/fs
324 ${INSTALL_PROGRAM} livesys ${DEST}/bin/livesys
325 ${INSTALL_PROGRAM} fs ${DEST}/root.server/usr/afs/bin/fs
326 ${INSTALL_PROGRAM} up ${DEST}/bin/up
327 ${INSTALL_PROGRAM} fstrace ${DEST}/etc/fstrace
328 ${INSTALL_PROGRAM} cmdebug ${DEST}/bin/cmdebug
329 ${INSTALL_PROGRAM} afsio ${DEST}/bin/afsio
331 case ${SYS_NAME} in \
333 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.sgi_ipnos ${DEST}/etc/kdump; \
334 ln -fs kdump ${DEST}/etc/kdump32; \
335 ln -fs kdump.IP20 ${DEST}/etc/kdump.IP22; \
336 ln -fs kdump.IP20 ${DEST}/etc/kdump.IP32; \
337 for f in kdump.IP??; \
338 do ${INSTALL_PROGRAM} $$f ${DEST}/etc/$$f || exit $$? ; \
340 sun*_5[789] | sun*_510 ) \
341 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.solaris7 ${DEST}/etc/kdump; \
342 ${INSTALL_PROGRAM} ${srcdir}/kdump ${DEST}/etc/kdump32;; \
343 *linux26* | *linux_26* ) \
346 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
347 ${INSTALL_PROGRAM} kdump-alpha_linux-${LINUX_VERSION} ${DEST}/etc/kdump-${LINUX_VERSION} ;; \
349 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
350 ${INSTALL_PROGRAM} kdump-linux-${LINUX_VERSION} ${DEST}/etc/kdump-${LINUX_VERSION} ;; \
352 ${INSTALL_SCRIPT} ${srcdir}/kdump.sh.hp_ux11 ${DEST}/etc/kdump32; \
353 ${INSTALL_PROGRAM} kdump-build ${DEST}/etc/kdump ;; \
357 ${INSTALL_PROGRAM} kdump-build ${DEST}/etc/kdump ;; \
359 if [ -f kdump64 ]; then \
360 ${INSTALL_PROGRAM} kdump64 ${DEST}/etc/kdump; \
368 $(RM) -f *.o *.a up fs kdump-* kdump kdump64 core cmdebug \
369 AFS_component_version_number.c fstrace gcpags livesys dedebug \
375 include ../config/Makefile.version