Commit | Line | Data |
---|---|---|
805e021f CE |
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 | include @TOP_OBJDIR@/src/config/Makefile.lwptool | |
12 | ||
13 | HELPER_SPLINT=@HELPER_SPLINT@ | |
14 | ||
15 | VINCLS=${TOP_INCDIR}/afs/partition.h ${TOP_INCDIR}/afs/volume.h \ | |
16 | ${TOP_INCDIR}/afs/vlserver.h vol.h dump.h volser.h lockdata.h \ | |
17 | voltrans_inline.h | |
18 | ||
19 | RINCLS=${TOP_INCDIR}/rx/rx.h ${TOP_INCDIR}/rx/xdr.h \ | |
20 | ${TOP_INCDIR}/afs/keys.h ${TOP_INCDIR}/afs/cellconfig.h \ | |
21 | ${TOP_INCDIR}/ubik.h ${TOP_INCDIR}/afs/cmd.h | |
22 | ||
23 | INTINCLS=volint.h volser.h volser_prototypes.h volser_internal.h | |
24 | ||
25 | LIBS=\ | |
26 | $(TOP_LIBDIR)/libopr.a \ | |
27 | ${TOP_LIBDIR}/libaudit.a \ | |
28 | ${TOP_LIBDIR}/vlib.a \ | |
29 | ${TOP_LIBDIR}/libacl.a \ | |
30 | ${TOP_LIBDIR}/libsys.a \ | |
31 | ${TOP_LIBDIR}/libvldb.a \ | |
32 | ${TOP_LIBDIR}/libubik.a \ | |
33 | ${TOP_LIBDIR}/libauth.a \ | |
34 | ${TOP_LIBDIR}/libcmd.a \ | |
35 | ${TOP_LIBDIR}/librxkad.a \ | |
36 | ${TOP_LIBDIR}/librxstat.a \ | |
37 | ${TOP_LIBDIR}/librx.a \ | |
38 | ${TOP_LIBDIR}/liblwp.a \ | |
39 | ${TOP_LIBDIR}/libsys.a \ | |
40 | ${TOP_LIBDIR}/libafscom_err.a \ | |
41 | ${TOP_LIBDIR}/libkauth.a \ | |
42 | ${TOP_LIBDIR}/libusd.a \ | |
43 | ${TOP_LIBDIR}/util.a \ | |
44 | ${TOP_LIBDIR}/libopr.a \ | |
45 | ${TOP_LIBDIR}/libafsrfc3961.a \ | |
46 | ${TOP_LIBDIR}/libafshcrypto_lwp.a | |
47 | ||
48 | VOLDUMP_LIBS = \ | |
49 | ../vol/ihandle.o \ | |
50 | ../vol/physio.o \ | |
51 | ../vol/vlib.a \ | |
52 | ${TOP_LIBDIR}/libopr.a \ | |
53 | ${TOP_LIBDIR}/libcmd.a \ | |
54 | ${TOP_LIBDIR}/libafscom_err.a \ | |
55 | ${TOP_LIBDIR}/libdir.a \ | |
56 | ${TOP_LIBDIR}/librx.a \ | |
57 | ${TOP_LIBDIR}/libafshcrypto_lwp.a \ | |
58 | ${TOP_LIBDIR}/liblwp.a \ | |
59 | ${TOP_LIBDIR}/libsys.a \ | |
60 | ${TOP_LIBDIR}/libacl.a \ | |
61 | ${TOP_LIBDIR}/util.a \ | |
62 | $(TOP_LIBDIR)/libopr.a | |
63 | ||
64 | SOBJS=volmain.o volprocs.o physio.o common.o voltrans.o \ | |
65 | dumpstuff.o volint.ss.o vol_split.o | |
66 | ||
67 | LT_objs = vsprocs.lo vsutils.lo lockprocs.lo volint.xdr.lo volerr.lo \ | |
68 | volint.cs.lo | |
69 | LT_deps = $(top_builddir)/src/opr/liboafs_opr.la \ | |
70 | $(top_builddir)/src/comerr/liboafs_comerr.la \ | |
71 | $(top_builddir)/src/rx/liboafs_rx.la \ | |
72 | $(top_builddir)/src/ubik/liboafs_ubik.la \ | |
73 | $(top_builddir)/src/vlserver/liboafs_vldb.la | |
74 | ||
75 | all: volserver vos restorevol voldump \ | |
76 | liboafs_volser.la \ | |
77 | libvolser_pic.la \ | |
78 | ${TOP_INCDIR}/afs/volser.h \ | |
79 | ${TOP_INCDIR}/afs/vsutils_prototypes.h \ | |
80 | ${TOP_INCDIR}/afs/volser_prototypes.h \ | |
81 | ${TOP_INCDIR}/afs/volint.h \ | |
82 | ${TOP_LIBDIR}/libvolser.a | |
83 | ||
84 | generated: volser.h volerr.c volint.cs.c volint.ss.c volint.xdr.c volint.h | |
85 | ||
86 | ${TOP_INCDIR}/afs/vsutils_prototypes.h: vsutils_prototypes.h | |
87 | ${INSTALL_DATA} $? $@ | |
88 | ||
89 | ${TOP_INCDIR}/afs/volser_prototypes.h: volser_prototypes.h | |
90 | ${INSTALL_DATA} $? $@ | |
91 | ||
92 | ${TOP_INCDIR}/afs/volser.h: volser.h | |
93 | ${INSTALL_DATA} $? $@ | |
94 | ||
95 | ${TOP_INCDIR}/afs/volint.h: volint.h | |
96 | ${INSTALL_DATA} $? $@ | |
97 | ||
98 | ${TOP_LIBDIR}/libvolser.a: libvolser.a | |
99 | ${INSTALL_DATA} $? $@ | |
100 | ||
101 | restorevol: restorevol.o | |
102 | $(AFS_LDRULE) restorevol.o ${TOP_LIBDIR}/libcmd.a \ | |
103 | ${TOP_LIBDIR}/util.a $(LIB_roken) ${XLIBS} | |
104 | ||
105 | vos: vos.o libvolser.a ${LIBS} | |
106 | $(AFS_LDRULE) vos.o libvolser.a \ | |
107 | ${LIBS} $(LIB_roken) ${XLIBS} | |
108 | ||
109 | volserver: $(SOBJS) volerr.lo volint.xdr.lo volint.cs.lo \ | |
110 | $(LIBS) ${TOP_LIBDIR}/libdir.a | |
111 | $(AFS_LDRULE) $(SOBJS) .lwp/volerr.o .lwp/volint.xdr.o .lwp/volint.cs.o \ | |
112 | ${TOP_LIBDIR}/libdir.a \ | |
113 | $(LIBS) $(LIB_roken) ${XLIBS} | |
114 | ||
115 | voldump: vol-dump.o ${VOLDUMP_LIBS} | |
116 | $(AFS_LDRULE) vol-dump.o ${VOLDUMP_LIBS} \ | |
117 | $(LIB_roken) ${XLIBS} | |
118 | ||
119 | libvolser.a: $(LT_objs) | |
120 | $(LT_LDLIB_lwp) $(LT_objs) | |
121 | ||
122 | liboafs_volser.la: liboafs_volser.la.sym $(LT_objs) $(LT_deps) | |
123 | $(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs) | |
124 | ||
125 | libvolser_pic.la: $(LT_objs) | |
126 | $(LT_LDLIB_pic) $(LT_objs) | |
127 | ||
128 | volerr.c: volerr.et | |
129 | ${COMPILE_ET_C} -p ${srcdir} volerr | |
130 | ||
131 | volser.h: volerr.et volser.p.h | |
132 | ${COMPILE_ET_H} -p ${srcdir} volerr -h volser | |
133 | ||
134 | common.o common.lo: volser.h | |
135 | dumpstuff.o dumpstuff.lo: volser.h | |
136 | lockprocs.o lockprocs.lo: volser.h | |
137 | vol-dump.o vol-dump.lo: volser.h | |
138 | volmain.o volmain.lo: volser.h | |
139 | volprocs.o volprocs.lo: volser.h | |
140 | vol_split.o vol_split.lo: volser.h | |
141 | voltrans.o voltrans.lo: volser.h | |
142 | vos.o vos.lo: volser.h | |
143 | vsprocs.o vsprocs.lo: volser.h | |
144 | vsutils.o vsutils.lo: volser.h | |
145 | ||
146 | volint.cs.c: volint.xg | |
147 | ${RXGEN} -A -x -C -o $@ ${srcdir}/volint.xg | |
148 | ||
149 | volint.ss.c: volint.xg | |
150 | ${RXGEN} -A -x -S -o $@ ${srcdir}/volint.xg | |
151 | ||
152 | volint.xdr.c: volint.xg | |
153 | ${RXGEN} -A -x -c -o $@ ${srcdir}/volint.xg | |
154 | ||
155 | volint.h: volint.xg | |
156 | ${RXGEN} -A -x -h -o $@ ${srcdir}/volint.xg | |
157 | ||
158 | volint.cs.c: volint.h | |
159 | volint.ss.c: volint.h | |
160 | volint.xdr.c: volint.h | |
161 | ||
162 | # | |
163 | # Dependencies | |
164 | # | |
165 | volint.cs.lo: volint.cs.c ${INTINCLS} | |
166 | volint.ss.o: volint.ss.c ${INTINCLS} | |
167 | volint.xdr.lo: volint.xdr.c ${INTINCLS} | |
168 | vsutils.lo: vsutils.c ${VINCLS} ${RINCLS} ${INTINCLS} | |
169 | volmain.o: volmain.c ${VINCLS} ${RINCLS} ${INTINCLS} AFS_component_version_number.c | |
170 | volprocs.o: volprocs.c ${VINCLS} ${RINCLS} ${INTINCLS} | |
171 | dumpstuff.o: dumpstuff.c ${VINCLS} ${RINCLS} ${INTINCLS} | |
172 | voldump.o: voldump.c ${VINCLS} ${RINCLS} | |
173 | vos.o: vos.c ${VINCLS} ${RINCLS} ${INTINCLS} AFS_component_version_number.c | |
174 | vsprocs.lo: vsprocs.c ${VINCLS} ${RINCLS} ${INTINCLS} | |
175 | physio.o: physio.c ${VINCLS} | |
176 | common.o: common.c ${VINCLS} | |
177 | lockprocs.o: lockprocs.c ${VINCLS} ${INTINCLS} ${RINCLS} | |
178 | vol_split.o: vol_split.c ${VINCLS} ${INTINCLS} ${RINCLS} | |
179 | restorevol.o: restorevol.c ${VINCLS} ${INTINCLS} | |
180 | voltrans.o: voltrans.c ${VINCLS} ${INTINCLS} ${RINCLS} | |
181 | vol-dump.o: vol-dump.c ${VINCLS} ${INTINCLS} ${RINCLS} | |
182 | ||
183 | # | |
184 | # Installation targets | |
185 | # | |
186 | install: restorevol voldump volser.h volint.h vos volserver libvolser.a | |
187 | ${INSTALL} -d ${DESTDIR}${sbindir} | |
188 | ${INSTALL} -d ${DESTDIR}${afssrvsbindir} | |
189 | ${INSTALL} -d ${DESTDIR}${includedir}/afs | |
190 | ${INSTALL} -d ${DESTDIR}${libdir}/afs | |
191 | ${INSTALL} -d ${DESTDIR}${afssrvlibexecdir} | |
192 | ${INSTALL_PROGRAM} restorevol ${DESTDIR}${bindir}/restorevol | |
193 | ${INSTALL_PROGRAM} voldump ${DESTDIR}${sbindir}/voldump | |
194 | ${INSTALL_DATA} volser.h ${DESTDIR}${includedir}/afs/volser.h | |
195 | ${INSTALL_DATA} volint.h ${DESTDIR}${includedir}/afs/volint.h | |
196 | ${INSTALL_DATA} ${srcdir}/vsutils_prototypes.h ${DESTDIR}${includedir}/afs/vsutils_prototypes.h | |
197 | ${INSTALL_PROGRAM} vos ${DESTDIR}${sbindir}/vos | |
198 | ${INSTALL_PROGRAM} vos ${DESTDIR}${afssrvsbindir}/vos | |
199 | ${INSTALL_DATA} libvolser.a ${DESTDIR}${libdir}/afs/libvolser.a | |
200 | @case ${SYS_NAME} in \ | |
201 | alpha_dux4*|*linux*|rs_aix*|sgi_6*|sun4x*|sunx86*) \ | |
202 | echo "Don't install volserver for ${SYS_NAME}" ;; \ | |
203 | *_darwin_[1-6][0-9]) \ | |
204 | echo ${INSTALL} volserver \ | |
205 | ${DESTDIR}${afssrvlibexecdir}/volserver ; \ | |
206 | ${INSTALL} volserver \ | |
207 | ${DESTDIR}${afssrvlibexecdir}/volserver ;; \ | |
208 | *_darwin_*) \ | |
209 | echo "Don't install volserver for ${SYS_NAME}" ;; \ | |
210 | *) \ | |
211 | echo ${INSTALL_PRORAM} volserver \ | |
212 | ${DESTDIR}${afssrvlibexecdir}/volserver ; \ | |
213 | ${INSTALL} volserver \ | |
214 | ${DESTDIR}${afssrvlibexecdir}/volserver ;; \ | |
215 | esac | |
216 | ||
217 | dest: restorevol voldump volser.h volint.h vos volserver libvolser.a | |
218 | ${INSTALL} -d ${DEST}/etc | |
219 | ${INSTALL} -d ${DEST}/include/afs | |
220 | ${INSTALL} -d ${DEST}/lib/afs | |
221 | ${INSTALL} -d ${DEST}/root.server/usr/afs/bin | |
222 | ${INSTALL_PROGRAM} restorevol ${DEST}/root.server/usr/afs/bin/restorevol | |
223 | ${INSTALL_PROGRAM} voldump ${DEST}/etc/voldump | |
224 | ${INSTALL_DATA} volser.h ${DEST}/include/afs/volser.h | |
225 | ${INSTALL_DATA} volint.h ${DEST}/include/afs/volint.h | |
226 | ${INSTALL_DATA} ${srcdir}/vsutils_prototypes.h ${DEST}/include/afs/vsutils_prototypes.h | |
227 | ${INSTALL_PROGRAM} vos ${DEST}/etc/vos | |
228 | ${INSTALL_PROGRAM} vos ${DEST}/root.server/usr/afs/bin/vos | |
229 | ${INSTALL_DATA} libvolser.a ${DEST}/lib/afs/libvolser.a | |
230 | @case ${SYS_NAME} in \ | |
231 | alpha_dux4*|*linux*|rs_aix*|sgi_6*|sun4x*|sunx86*) \ | |
232 | echo "Don't install volserver for ${SYS_NAME}" ;; \ | |
233 | *_darwin_[1-6][0-9]) \ | |
234 | echo ${INSTALL} volserver \ | |
235 | ${DEST}/root.server/usr/afs/bin/volserver ; \ | |
236 | ${INSTALL} -ns volserver \ | |
237 | ${DEST}/root.server/usr/afs/bin/volserver ;; \ | |
238 | *_darwin_*) \ | |
239 | echo "Don't install volserver for ${SYS_NAME}" ;; \ | |
240 | *) \ | |
241 | echo ${INSTALL} volserver \ | |
242 | ${DEST}/root.server/usr/afs/bin/volserver ; \ | |
243 | ${INSTALL} volserver \ | |
244 | ${DEST}/root.server/usr/afs/bin/volserver ;; \ | |
245 | esac | |
246 | ||
247 | # | |
248 | # Misc targets | |
249 | # | |
250 | clean: | |
251 | $(LT_CLEAN) | |
252 | $(RM) -f *.o *.a core volserver volint.ss.c volint.cs.c volint.h \ | |
253 | volint.xdr.c vos volser.h volerr.c AFS_component_version_number.c restorevol voldump | |
254 | ||
255 | check-splint:: | |
256 | sh $(HELPER_SPLINT) $(CFLAGS) \ | |
257 | vos.c restorevol.c \ | |
258 | vsprocs.c vsutils.c lockprocs.c volerr.c \ | |
259 | volmain.c volprocs.c physio.c common.c voltrans.c \ | |
260 | dumpstuff.c vol_split.c | |
261 | ||
262 | include ../config/Makefile.version |