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