2 include @TOP_OBJDIR@/src/config/Makefile.config
6 CFLAGS = -I. -I${srcdir} ${DBG} ${OPTMZ} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
7 LDFLAGS=${DBG} ${OPTMZ} ${XLDFLAGS}
9 INCDIRS=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR}/afs -I${TOP_INCDIR}
10 INCLIBS=-L${SRCDIR}/lib/afs -L${TOP_LIBDIR}
15 ${TOP_LIBDIR}/libauth.a \
16 ${TOP_LIBDIR}/libaudit.a \
17 ${TOP_LIBDIR}/libvolser.a \
18 ${TOP_LIBDIR}/libvldb.a \
19 ${TOP_LIBDIR}/libubik.a \
20 ${TOP_LIBDIR}/librxkad.a \
21 ${TOP_LIBDIR}/libsys.a \
22 ${TOP_LIBDIR}/librx.a \
23 ${TOP_LIBDIR}/liblwp.a \
24 ${TOP_LIBDIR}/util.a \
25 ${TOP_LIBDIR}/libcom_err.a \
28 OBJS_afsdump_scan = afsdump_scan.o repair.o
29 OBJS_afsdump_xsed = afsdump_xsed.o repair.o
30 OBJS_libxfiles.a = xfiles.o xf_errs.o xf_printf.o int64.o \
31 xf_files.o xf_rxcall.o xf_profile.o
32 OBJS_libdumpscan.a = primitive.o util.o dumpscan_errs.o parsetag.o \
33 parsedump.o parsevol.o parsevnode.o dump.o \
34 directory.o pathname.o backuphdr.o stagehdr.o
36 TARGETS = libxfiles.a libdumpscan.a \
37 afsdump_scan afsdump_dirlist afsdump_extract dumptool
39 afsdump_scan: libxfiles.a libdumpscan.a $(OBJS_afsdump_scan)
40 $(CC) $(CFLAGS) $(LDFLAGS) -o afsdump_scan $(OBJS_afsdump_scan) $(LIBS)
42 afsdump_xsed: libxfiles.a libdumpscan.a $(OBJS_afsdump_xsed)
43 $(CC) $(CFLAGS) $(LDFLAGS) -o afsdump_xsed $(OBJS_afsdump_xsed) $(LIBS)
45 afsdump_dirlist: libxfiles.a libdumpscan.a afsdump_dirlist.o
46 $(CC) $(CFLAGS) $(LDFLAGS) -o afsdump_dirlist afsdump_dirlist.o $(LIBS)
48 afsdump_extract: libxfiles.a libdumpscan.a afsdump_extract.o
49 $(CC) $(CFLAGS) $(LDFLAGS) -o afsdump_extract afsdump_extract.o $(LIBS)
51 null-search: libxfiles.a libdumpscan.a null-search.c
52 $(CC) $(CFLAGS) $(LDFLAGS) -o null-search null-search.c $(LIBS)
55 $(CC) $(CFLAGS) $(LDFLAGS) -o dumptool dumptool.c
57 libxfiles.a: $(OBJS_libxfiles.a)
59 $(AR) r libxfiles.a $(OBJS_libxfiles.a)
62 libdumpscan.a: $(OBJS_libdumpscan.a)
64 $(AR) r libdumpscan.a $(OBJS_libdumpscan.a)
65 $(RANLIB) libdumpscan.a
67 xf_errs.c xf_errs.h: xf_errs.et
68 $(COMPILE_ET) xf_errs.et
70 dumpscan_errs.c dumpscan_errs.h: dumpscan_errs.et
71 $(COMPILE_ET) dumpscan_errs.et
73 util.o xfiles.o xf_files.o: xf_errs.h
74 backuphdr.o directory.o parsedump.o parsetag.o: dumpscan_errs.h
75 parsevnode.o parsevol.o pathname.o repair.o: dumpscan_errs.h
76 stagehdr.o util.o: dumpscan_errs.h
78 ${DEST}/etc/afsdump_scan: afsdump_scan
81 ${DEST}/etc/afsdump_dirlist: afsdump_dirlist
84 ${DEST}/etc/afsdump_extract: afsdump_extract
87 ${DEST}/etc/dumptool: dumptool
90 ${DESTDIR}${sbindir}/afsdump_scan: afsdump_scan
93 ${DESTDIR}${sbindir}/afsdump_dirlist: afsdump_dirlist
96 ${DESTDIR}${sbindir}/afsdump_extract: afsdump_extract
99 ${DESTDIR}${sbindir}/dumptool: dumptool
102 ${TOP_LIBDIR}/libxfiles.a: libxfiles.a
105 ${TOP_LIBDIR}/libdumpscan.a: libdumpscan.a
108 SYS_LIBS = ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a
110 AUTH_LIBS = ${TOP_LIBDIR}/libauth.a ${SYS_LIBS}
112 INT_LIBS = ${TOP_LIBDIR}/libafsint.a ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/libcom_err.a ${TOP_LIBDIR}/util.a
114 TEST_PROGRAMS = write-ro-file hello-world read-vs-mmap read-vs-mmap2 \
115 mmap-and-read large-dir large-dir2 large-dir3 mountpoint \
116 test-setgroups test-setpag hardlink1 hardlink2 mkdir2 \
117 create-files create-symlinks create-dirs dup2-and-unlog \
118 readdir-vs-lstat read-write create-remove mkdir3 \
119 symlink echo-n test-parallel1 test-parallel2 create-stat \
120 kill-softly kill-softer rm-rf exit-wo-close \
121 mmap-vs-read mmap-vs-read2 strange-characters-c pine \
122 append-over-page write-ucc utime-dir mmap-shared-write \
123 rename5 rename-under-feet write-closed write-closed2 \
124 truncate fchmod make-page utime-file rename6 \
125 write3 still-there-p write-large afscp hardlink4 \
126 intr-read asu truncate-files mmap-cat blocks-new-file \
129 TEST_OBJS = write-ro-file.o read-vs-mmap.o read-vs-mmap2.o \
130 mmap-and-read.o large-dir.o large-dir2.o large-dir3.o \
131 test-setgroups.o test-setpag.o hardlink1.o hardlink2.o \
132 mkdir2.o create-files.o create-symlinks.o create-dirs.o \
133 dup2-and-unlog.o readdir-vs-lstat.o read-write.o \
134 create-remove.o symlink.o echo-n.o test-parallel1.o \
135 test-parallel1.o mkdir3.o rename6.o \
136 create-stat.o kill-softly.o kill-softer.o rm-rf.o \
137 exit-wo-close.o mmap-vs-read.o mmap-vs-read2.o \
138 strange-characters-c.o pine.o append-over-page.o \
139 write-ucc.o utime-dir.o mmap-shared-write.o rename5.o \
140 rename-under-feet.o write-closed.o write-closed2.o \
141 truncate.o fchmod.o make-page.o utime-file.o \
142 write3.o still-there-p.o write-large.o hardlink4.o \
143 intr-read.o asu.o truncate-files.o mmap-cat.o \
144 blocks-new-file.o fsx.o afscp.o afscp_callback.o \
147 TEST_SRCS = write-ro-file.c read-vs-mmap.c read-vs-mmap2.c \
148 mmap-and-read.c large-dir.c large-dir2.c large-dir3.c \
149 test-setgroups.c test-setpag.c hardlink1.c hardlink2.c \
150 mkdir2.c create-files.c create-symlinks.c create-dirs.c \
151 dup2-and-unlog.c readdir-vs-lstat.c read-write.c \
152 create-remove.c symlink.c echo-n.c test-parallel1.c \
153 test-parallel2.c mkdir3.c rename6.c \
154 create-stat.c kill-softly.c kill-softer.c rm-rf.c \
155 exit-wo-close.c mmap-vs-read.c mmap-vs-read2.c \
156 strange-characters-c.c pine.c append-over-page.c \
157 write-ucc.c utime-dir.c mmap-shared-write.c rename5.c \
158 rename-under-feet.c write-closed.c write-closed2.c \
159 truncate.c fchmod.c make-page.c utime-file.c \
160 write3.c still-there-p.c write-large.c hardlink4.c \
161 intr-read.c asu.c truncate-files.c mmap-cat.c \
162 blocks-new-file.c fsx.c afscp.c afscp_callback.c \
165 EXTRA_OBJS = err.o errx.o warn.o warnx.o vwarn.o vwarnx.o verr.o verrx.o warnerr.o snprintf.o
167 OpenAFS/OS.pm: OpenAFS/OS-$(MKAFS_OSTYPE).pm
168 $(CP) OpenAFS/OS-$(MKAFS_OSTYPE).pm OpenAFS/OS.pm
170 fsx: fsx.o $(EXTRA_OBJS)
171 $(CC) $(LDFLAGS) -o $@ fsx.o $(EXTRA_OBJS) $(LIBS)
173 write-rand: write-rand.o $(EXTRA_OBJS)
174 $(CC) $(LDFLAGS) -o $@ write-rand.o $(EXTRA_OBJS) $(LIBS)
176 write-ro-file: write-ro-file.o $(EXTRA_OBJS)
177 $(CC) $(LDFLAGS) -o $@ write-ro-file.o $(EXTRA_OBJS) $(LIBS)
179 write-large: write-large.o $(EXTRA_OBJS)
180 $(CC) $(LDFLAGS) -o $@ write-large.o $(EXTRA_OBJS) $(LIBS)
182 read-vs-mmap: read-vs-mmap.o $(EXTRA_OBJS)
183 $(CC) $(LDFLAGS) -o $@ read-vs-mmap.o $(EXTRA_OBJS) $(LIBS)
185 read-vs-mmap2: read-vs-mmap2.o $(EXTRA_OBJS)
186 $(CC) $(LDFLAGS) -o $@ read-vs-mmap2.o $(EXTRA_OBJS) $(LIBS)
188 mmap-vs-read: mmap-vs-read.o $(EXTRA_OBJS)
189 $(CC) $(LDFLAGS) -o $@ mmap-vs-read.o $(EXTRA_OBJS) $(LIBS)
191 mmap-vs-read2: mmap-vs-read2.o $(EXTRA_OBJS)
192 $(CC) $(LDFLAGS) -o $@ mmap-vs-read2.o $(EXTRA_OBJS) $(LIBS)
194 read-write: read-write.o $(EXTRA_OBJS)
195 $(CC) $(LDFLAGS) -o $@ read-write.o $(EXTRA_OBJS) $(LIBS)
197 mmap-and-read: mmap-and-read.o $(EXTRA_OBJS)
198 $(CC) $(LDFLAGS) -o $@ mmap-and-read.o $(EXTRA_OBJS) $(LIBS)
200 large-dir: large-dir.o $(EXTRA_OBJS)
201 $(CC) $(LDFLAGS) -o $@ large-dir.o $(EXTRA_OBJS) $(LIBS)
203 large-dir2: large-dir2.o $(EXTRA_OBJS)
204 $(CC) $(LDFLAGS) -o $@ large-dir2.o $(EXTRA_OBJS) $(LIBS)
206 large-dir3: large-dir3.o $(EXTRA_OBJS)
207 $(CC) $(LDFLAGS) -o $@ large-dir3.o $(EXTRA_OBJS) $(LIBS)
209 fchmod: fchmod.o $(EXTRA_OBJS)
210 $(CC) $(LDFLAGS) -o $@ fchmod.o $(EXTRA_OBJS) $(LIBS)
212 truncate: truncate.o $(EXTRA_OBJS)
213 $(CC) $(LDFLAGS) -o $@ truncate.o $(EXTRA_OBJS) $(LIBS)
215 make-page: make-page.o $(EXTRA_OBJS)
216 $(CC) $(LDFLAGS) -o $@ make-page.o $(EXTRA_OBJS) $(LIBS)
218 still-there-p: still-there-p.o $(EXTRA_OBJS)
219 $(CC) $(LDFLAGS) -o $@ still-there-p.o $(EXTRA_OBJS) $(LIBS)
221 intr-read: intr-read.o $(EXTRA_OBJS)
222 $(CC) $(LDFLAGS) -o $@ intr-read.o $(EXTRA_OBJS) $(LIBS)
224 blocks-new-file: blocks-new-file.o $(EXTRA_OBJS)
225 $(CC) $(LDFLAGS) -o $@ blocks-new-file.o $(EXTRA_OBJS) $(LIBS)
227 asu: asu.o $(EXTRA_OBJS)
228 $(CC) $(LDFLAGS) -o $@ asu.o $(EXTRA_OBJS) $(LIBS)
230 test-setgroups: test-setgroups.o $(EXTRA_OBJS)
231 $(CC) $(LDFLAGS) -o $@ test-setgroups.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
233 test-setpag: test-setpag.o $(EXTRA_OBJS)
234 $(CC) $(LDFLAGS) -o $@ test-setpag.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
236 hardlink1: hardlink1.o $(EXTRA_OBJS)
237 $(CC) $(LDFLAGS) -o $@ hardlink1.o $(EXTRA_OBJS) $(LIBS)
239 hardlink2: hardlink2.o $(EXTRA_OBJS)
240 $(CC) $(LDFLAGS) -o $@ hardlink2.o $(EXTRA_OBJS) $(LIBS)
242 hardlink4: hardlink4.o $(EXTRA_OBJS)
243 $(CC) $(LDFLAGS) -o $@ hardlink4.o $(EXTRA_OBJS) $(LIBS)
245 mkdir2: mkdir2.o $(EXTRA_OBJS)
246 $(CC) $(LDFLAGS) -o $@ mkdir2.o $(EXTRA_OBJS) $(LIBS)
248 mkdir3: mkdir3.o $(EXTRA_OBJS)
249 $(CC) $(LDFLAGS) -o $@ mkdir3.o $(EXTRA_OBJS) $(LIBS)
251 create-files: create-files.o $(EXTRA_OBJS)
252 $(CC) $(LDFLAGS) -o $@ create-files.o $(EXTRA_OBJS) $(LIBS)
254 create-symlinks: create-symlinks.o $(EXTRA_OBJS)
255 $(CC) $(LDFLAGS) -o $@ create-symlinks.o $(EXTRA_OBJS) $(LIBS)
257 create-dirs: create-dirs.o $(EXTRA_OBJS)
258 $(CC) $(LDFLAGS) -o $@ create-dirs.o $(EXTRA_OBJS) $(LIBS)
260 create-remove: create-remove.o $(EXTRA_OBJS)
261 $(CC) $(LDFLAGS) -o $@ create-remove.o $(EXTRA_OBJS) $(LIBS)
263 dup2-and-unlog: dup2-and-unlog.o $(EXTRA_OBJS)
264 $(CC) $(LDFLAGS) -o $@ dup2-and-unlog.o $(EXTRA_OBJS) $(AUTH_LIBS) $(LIBS)
266 readdir-vs-lstat: readdir-vs-lstat.o $(EXTRA_OBJS)
267 $(CC) $(LDFLAGS) -o $@ readdir-vs-lstat.o $(EXTRA_OBJS) $(LIBS)
269 symlink: symlink.o $(EXTRA_OBJS)
270 $(CC) $(LDFLAGS) -o $@ symlink.o $(EXTRA_OBJS) $(LIBS)
272 echo-n: echo-n.o $(EXTRA_OBJS)
273 $(CC) $(LDFLAGS) -o $@ echo-n.o $(EXTRA_OBJS)
275 test-parallel1: test-parallel1.o $(EXTRA_OBJS)
276 $(CC) $(LDFLAGS) -o $@ test-parallel1.o $(EXTRA_OBJS) $(LIBS)
278 test-parallel2: test-parallel2.o $(EXTRA_OBJS)
279 $(CC) $(LDFLAGS) -o $@ test-parallel2.o $(EXTRA_OBJS) $(LIBS)
281 create-stat: create-stat.o fs_lib.o $(EXTRA_OBJS)
282 $(CC) $(LDFLAGS) -o $@ create-stat.o fs_lib.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
284 kill-softly: kill-softly.o $(EXTRA_OBJS)
285 $(CC) $(LDFLAGS) -o $@ kill-softly.o $(EXTRA_OBJS) $(LIBS)
287 kill-softer: kill-softer.o $(EXTRA_OBJS)
288 $(CC) $(LDFLAGS) -o $@ kill-softer.o $(EXTRA_OBJS) $(LIBS)
290 rm-rf: rm-rf.o fs_lib.o $(EXTRA_OBJS)
291 $(CC) $(LDFLAGS) -o $@ rm-rf.o fs_lib.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
293 exit-wo-close: exit-wo-close.o $(EXTRA_OBJS)
294 $(CC) $(LDFLAGS) -o $@ exit-wo-close.o $(EXTRA_OBJS) $(LIBS)
296 strange-characters-c: strange-characters-c.o $(EXTRA_OBJS)
297 $(CC) $(LDFLAGS) -o $@ strange-characters-c.o $(EXTRA_OBJS) $(LIBS)
299 pine: pine.o $(EXTRA_OBJS)
300 $(CC) $(LDFLAGS) -o $@ pine.o $(EXTRA_OBJS) $(LIBS)
302 append-over-page: append-over-page.o $(EXTRA_OBJS)
303 $(CC) $(LDFLAGS) -o $@ append-over-page.o $(EXTRA_OBJS) $(LIBS)
305 write-ucc: write-ucc.o $(EXTRA_OBJS)
306 $(CC) $(LDFLAGS) -o $@ write-ucc.o $(EXTRA_OBJS) $(LIBS)
308 utime-dir: utime-dir.o $(EXTRA_OBJS)
309 $(CC) $(LDFLAGS) -o $@ utime-dir.o $(EXTRA_OBJS) $(LIBS)
311 utime-file: utime-file.o $(EXTRA_OBJS)
312 $(CC) $(LDFLAGS) -o $@ utime-file.o $(EXTRA_OBJS) $(LIBS)
314 mmap-shared-write: mmap-shared-write.o $(EXTRA_OBJS)
315 $(CC) $(LDFLAGS) -o $@ mmap-shared-write.o $(EXTRA_OBJS) $(LIBS)
317 rename5: rename5.o $(EXTRA_OBJS)
318 $(CC) $(LDFLAGS) -o $@ rename5.o $(EXTRA_OBJS) $(LIBS)
320 rename6: rename6.o $(EXTRA_OBJS)
321 $(CC) $(LDFLAGS) -o $@ rename6.o $(EXTRA_OBJS) $(LIBS)
323 write3: write3.o $(EXTRA_OBJS)
324 $(CC) $(LDFLAGS) -o $@ write3.o $(EXTRA_OBJS) $(LIBS)
326 rename-under-feet: rename-under-feet.o $(EXTRA_OBJS)
327 $(CC) $(LDFLAGS) -o $@ rename-under-feet.o $(EXTRA_OBJS) $(LIBS)
329 write-closed: write-closed.o $(EXTRA_OBJS)
330 $(CC) $(LDFLAGS) -o $@ write-closed.o $(EXTRA_OBJS) $(LIBS)
332 write-closed2: write-closed2.o $(EXTRA_OBJS)
333 $(CC) $(LDFLAGS) -o $@ write-closed2.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
335 truncate-files: truncate-files.o $(EXTRA_OBJS)
336 $(CC) $(LDFLAGS) -o $@ truncate-files.o $(EXTRA_OBJS) $(LIBS)
338 mmap-cat: mmap-cat.o $(EXTRA_OBJS)
339 $(CC) $(LDFLAGS) -o $@ mmap-cat.o $(EXTRA_OBJS) $(LIBS)
341 run-tests: run-tests.in
342 (cd ../..; CONFIG_FILES=src/tests/run-tests CONFIG_HEADERS= $(SHELL) @TOP_OBJDIR@/config.status)
346 # $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir) -I. $(REALCFLAGS) $<
348 afscp: afscp.o afscp_callback.o $(EXTRA_OBJS)
349 $(CC) $(LDFLAGS) -o $@ afscp.o afscp_callback.o $(EXTRA_OBJS) $(INT_LIBS) ${XLIBS}
351 hello-world: hello-world.in
352 sed -e "s!%CC%!$(CC)!" $(srcdir)/hello-world.in > $@
355 mountpoint: mountpoint.in
356 sed -e "s!%bindir%!$(bindir)!" $(srcdir)/mountpoint.in > $@
365 all: run-tests OpenAFS/OS.pm libxfiles.a libdumpscan.a $(TEST_PROGRAMS)\
366 afsdump_scan afsdump_dirlist afsdump_extract dumptool
370 -rm -f xf_errs.c xf_errs.h dumpscan_errs.c dumpscan_errs.h *.o \
371 $(TARGETS) run-tests $(TEST_PROGRAMS) OS.pm
373 include ../config/Makefile.version
378 check: run-tests $(TEST_PROGRAMS)
381 check-fast: run-tests $(TEST_PROGRAMS)
382 ./run-tests -all -fast
384 .PHONY: all install clean realclean distclean mostlyclean install uninstall check