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