6baabcf9c645e740f92ac7340580f296d68eb8e9
[openafs.git] / src / vol / Makefile
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 SHELL=/bin/sh
9 COMPONENT=vol
10 include ../config/Makefile.${SYS_NAME}
11 include ../config/Makefile.version
12
13 INCDIRS= -I${TOP_SRCDIR}/config -I. -I${DESTDIR}include ${FSINCLUDES}
14 LDFLAGS = ${OPTMZ} ${PROF} ${LDIRS} ${XLDFLAGS}
15
16 LIBS= ${DESTDIR}lib/afs/libcmd.a vlib.a ${SRCDIR}lib/afs/util.a \
17         ${DESTDIR}lib/afs/libsys.a ${DESTDIR}lib/afs/libdir.a \
18         ${DESTDIR}lib/liblwp.a  ${DESTDIR}lib/afs/libacl.a ${XLIBS}
19
20 CFLAGS = -D${SYS_NAME} ${OPTMZ} ${INCDIRS} ${XCFLAGS} ${DBG} ${DBG_DEFS}
21
22 PROGS = salvager volinfo
23
24 PUBLICHEADERS=nfs.h vnode.h viceinode.h volume.h voldefs.h partition.h\
25         fssync.h ihandle.h namei_ops.h
26
27 VLIBOBJS=vnode.o volume.o vutil.o partition.o fssync.o purge.o \
28          clone.o nuke.o devname.o listinodes.o common.o ihandle.o \
29          namei_ops.o
30
31
32 OBJECTS=${VLIBOBJS} physio.o vol-salvage.o vol-info.o 
33
34 all:    ${DESTDIR}lib/afs/vlib.a \
35         ${DESTDIR}lib/afs/libvlib.a \
36         ${DESTDIR}root.server/usr/afs/bin/salvager \
37         ${DESTDIR}root.server/usr/afs/bin/volinfo \
38         gi
39
40 system: install
41
42 kinstall ukinstall webinstall:
43         @echo No kernel source here.
44
45 ${DESTDIR}root.server/usr/afs/bin/salvager: salvager 
46         ${INSTALL} -s $? $@
47
48 ${DESTDIR}root.server/usr/afs/bin/volinfo: volinfo
49         ${INSTALL} -s $? $@
50
51 ${DESTDIR}lib/afs/vlib.a: vlib.a
52         ${INSTALL} $? $@
53
54 ${DESTDIR}lib/afs/libvlib.a: vlib.a
55         ${INSTALL} $? $@
56
57 $(DESTDIR)root.server/usr/afs/bin/fs_conv_dux40D:  fs_conv_dux40D
58            ${INSTALL} -s $? $@
59
60 $(DESTDIR)root.server/usr/afs/bin/xfs_size_check:  xfs_size_check
61            ${INSTALL} -s $? $@
62
63 $(DESTDIR)root.server/usr/afs/bin/fs_conv_sol26:  fs_conv_sol26
64            ${INSTALL} -s $? $@
65
66 install: all $(FS_CONV_OSF40D) $(XFS_SIZE_CHECK) $(FS_CONV_SOL26)
67         ${INSTALL} ${PUBLICHEADERS} ${DESTDIR}include/afs
68
69
70 ${OBJECTS}: ${PUBLICHEADERS} ${SRCDIR}include/lwp.h ${SRCDIR}include/lock.h \
71          ${SRCDIR}include/afs/afsint.h vutils.h salvage.h\
72         AFS_component_version_number.c
73
74 vol-salvage.o vutil.o: volinodes.h
75
76 vlib.a: ${VLIBOBJS} AFS_component_version_number.o
77         rm -f vlib.a
78         $(AR) r vlib.a ${VLIBOBJS} AFS_component_version_number.o
79         $(RANLIB) vlib.a
80
81 # new salvager:  remove references to /vice by linking with novice.o
82 salvager: vol-salvage.o physio.o vlib.a
83         ${CC} ${LDFLAGS} -o salvager vol-salvage.o physio.o ${LIBS}
84
85 vol-salvage: vol-salvage.o
86 vol-info: vol-info.o physio.o ihandle.o
87
88 listinodes.o: listinodes.c AFS_component_version_number.c
89         case ${SYS_NAME} in                             \
90                 hp?00_ux101 | hp_ux10? )                \
91                         ${CC} ${CFLAGS} -D_FILE64 -c listinodes.c \
92                                 ;;                      \
93                 * )     ${CC} ${CFLAGS} -c listinodes.c \
94                                 ;;                      \
95         esac
96
97 gi: ${DESTDIR}/lib/afs/libsys.a
98         case ${SYS_NAME} in \
99                 *linux* | sgi_* | *fbsd* ) \
100                         echo "Don't build gi on ${SYS_NAME}";; \
101                 *) \
102                         ${CC} ${CFLAGS} -c gi.c ; \
103                         ${CC} ${LDFLAGS} -o gi gi.o ${DESTDIR}/lib/afs/libsys.a;; \
104         esac
105
106 volinfo: vol-info.o physio.o ihandle.o
107         case ${SYS_NAME} in \
108                 *linux* | *fbsd*) \
109                         ${CC} ${CFLAGS} ${DBG} -o volinfo vol-info.o physio.o \
110                                 ihandle.o ${LIBS}  ;; \
111                 *) \
112                         ${CC} ${CFLAGS} ${DBG} -o volinfo vol-info.o physio.o \
113                                  ihandle.o ${LIBS} ;; \
114         esac
115
116
117 fs_conv_dux40D: fs_conv_411.o
118         ${CC} ${CFLAGS} ${DESTDIR}lib/afs/libcmd.a -o fs_conv_dux40D fs_conv_411.o  ${LIBS} 
119
120 fs_conv_sol26: fs_conv_411.o vlib.a 
121         ${CC} ${CFLAGS} ${DESTDIR}lib/afs/libcmd.a -o fs_conv_sol26 fs_conv_411.o  ${LIBS} 
122
123 fs_conv_411.o: fs_conv_411.c AFS_component_version_number.c
124         ${CC} ${CFLAGS} -c fs_conv_411.c
125
126 xfs_size_check: xfs_size_check.c
127         ${CC} ${CFLAGS} -o xfs_size_check xfs_size_check.c
128
129 clean:
130         rm -f *.o *.a AFS_component_version_number.c
131         rm -f ${SCMPROGS} ${STAGEPROGS} core salvager volinfo gi fs_conv_sol26 fs_conv_dux40D
132
133
134 beancount:
135         wc -l *.c *.h
136
137 test:
138         cd test; $(MAKE)