2 include @TOP_OBJDIR@/src/config/Makefile.config
4 INSTALL_DATA = @INSTALL_DATA@
5 INSTALL_PROGRAM = @INSTALL_PROGRAM@
6 INSTALL_SCRIPT = @INSTALL_SCRIPT@
10 CFLAGS = ${DBG} ${OPTMZ} -I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
11 LDFLAGS=${XLDFLAGS} ${ARCHFLAGS}
13 INCDIRS=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR}/afs -I${TOP_INCDIR}
14 INCLIBS=-L${SRCDIR}/lib/afs -L${TOP_LIBDIR}
19 ${TOP_LIBDIR}/libauth.a \
20 ${TOP_LIBDIR}/libaudit.a \
21 ${TOP_LIBDIR}/libvolser.a \
22 ${TOP_LIBDIR}/libvldb.a \
23 ${TOP_LIBDIR}/libubik.a \
24 ${TOP_LIBDIR}/librxkad.a \
25 ${TOP_LIBDIR}/libsys.a \
26 ${TOP_LIBDIR}/librx.a \
27 ${TOP_LIBDIR}/liblwp.a \
28 ${TOP_LIBDIR}/util.a \
29 ${TOP_LIBDIR}/libcom_err.a \
32 OBJS_afsdump_scan = afsdump_scan.o repair.o
33 OBJS_afsdump_xsed = afsdump_xsed.o repair.o
34 OBJS_libxfiles.a = xfiles.o xf_errs.o xf_printf.o int64.o \
35 xf_files.o xf_rxcall.o xf_profile.o
36 OBJS_libdumpscan.a = primitive.o util.o dumpscan_errs.o parsetag.o \
37 parsedump.o parsevol.o parsevnode.o dump.o \
38 directory.o pathname.o backuphdr.o stagehdr.o
40 TARGETS = libxfiles.a libdumpscan.a \
41 afsdump_scan afsdump_dirlist afsdump_extract dumptool
43 afsdump_scan: libxfiles.a libdumpscan.a $(OBJS_afsdump_scan)
44 $(CC) $(CFLAGS) $(LDFLAGS) -o afsdump_scan $(OBJS_afsdump_scan) $(LIBS)
46 afsdump_xsed: libxfiles.a libdumpscan.a $(OBJS_afsdump_xsed)
47 $(CC) $(CFLAGS) $(LDFLAGS) -o afsdump_xsed $(OBJS_afsdump_xsed) $(LIBS)
49 afsdump_dirlist: libxfiles.a libdumpscan.a afsdump_dirlist.o
50 $(CC) $(CFLAGS) $(LDFLAGS) -o afsdump_dirlist afsdump_dirlist.o $(LIBS)
52 afsdump_extract: libxfiles.a libdumpscan.a afsdump_extract.o
53 $(CC) $(CFLAGS) $(LDFLAGS) -o afsdump_extract afsdump_extract.o $(LIBS)
55 null-search: libxfiles.a libdumpscan.a null-search.c
56 $(CC) $(CFLAGS) $(LDFLAGS) -o null-search null-search.c $(LIBS)
59 $(CC) $(CFLAGS) $(LDFLAGS) -o dumptool dumptool.c
61 libxfiles.a: $(OBJS_libxfiles.a)
63 $(AR) r libxfiles.a $(OBJS_libxfiles.a)
66 libdumpscan.a: $(OBJS_libdumpscan.a)
68 $(AR) r libdumpscan.a $(OBJS_libdumpscan.a)
69 $(RANLIB) libdumpscan.a
71 xf_errs.c xf_errs.h: xf_errs.et
72 $(COMPILE_ET) xf_errs.et
74 dumpscan_errs.c dumpscan_errs.h: dumpscan_errs.et
75 $(COMPILE_ET) dumpscan_errs.et
77 util.o xfiles.o xf_files.o: xf_errs.h
78 backuphdr.o directory.o parsedump.o parsetag.o: dumpscan_errs.h
79 parsevnode.o parsevol.o pathname.o repair.o: dumpscan_errs.h
80 stagehdr.o util.o: dumpscan_errs.h
82 ${TOP_LIBDIR}/libxfiles.a: libxfiles.a
85 ${TOP_LIBDIR}/libdumpscan.a: libdumpscan.a
88 SYS_LIBS = ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a
90 AUTH_LIBS = ${TOP_LIBDIR}/libauth.a ${SYS_LIBS}
92 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
94 TEST_PROGRAMS = write-ro-file hello-world read-vs-mmap read-vs-mmap2 \
95 mmap-and-read large-dir large-dir2 large-dir3 mountpoint \
96 test-setgroups test-setpag hardlink1 hardlink2 mkdir2 \
97 create-files create-symlinks create-dirs dup2-and-unlog \
98 readdir-vs-lstat read-write create-remove mkdir3 \
99 symlink echo-n test-parallel1 test-parallel2 create-stat \
100 kill-softly kill-softer rm-rf exit-wo-close \
101 mmap-vs-read mmap-vs-read2 strange-characters-c pine \
102 append-over-page write-ucc utime-dir mmap-shared-write \
103 rename5 rename-under-feet write-closed write-closed2 \
104 truncate fchmod make-page utime-file rename6 \
105 write3 still-there-p write-large afscp hardlink4 \
106 intr-read asu truncate-files mmap-cat blocks-new-file \
109 TEST_OBJS = write-ro-file.o read-vs-mmap.o read-vs-mmap2.o \
110 mmap-and-read.o large-dir.o large-dir2.o large-dir3.o \
111 test-setgroups.o test-setpag.o hardlink1.o hardlink2.o \
112 mkdir2.o create-files.o create-symlinks.o create-dirs.o \
113 dup2-and-unlog.o readdir-vs-lstat.o read-write.o \
114 create-remove.o symlink.o echo-n.o test-parallel1.o \
115 test-parallel1.o mkdir3.o rename6.o \
116 create-stat.o kill-softly.o kill-softer.o rm-rf.o \
117 exit-wo-close.o mmap-vs-read.o mmap-vs-read2.o \
118 strange-characters-c.o pine.o append-over-page.o \
119 write-ucc.o utime-dir.o mmap-shared-write.o rename5.o \
120 rename-under-feet.o write-closed.o write-closed2.o \
121 truncate.o fchmod.o make-page.o utime-file.o \
122 write3.o still-there-p.o write-large.o hardlink4.o \
123 intr-read.o asu.o truncate-files.o mmap-cat.o \
124 blocks-new-file.o fsx.o afscp.o afscp_callback.o \
127 TEST_SRCS = write-ro-file.c read-vs-mmap.c read-vs-mmap2.c \
128 mmap-and-read.c large-dir.c large-dir2.c large-dir3.c \
129 test-setgroups.c test-setpag.c hardlink1.c hardlink2.c \
130 mkdir2.c create-files.c create-symlinks.c create-dirs.c \
131 dup2-and-unlog.c readdir-vs-lstat.c read-write.c \
132 create-remove.c symlink.c echo-n.c test-parallel1.c \
133 test-parallel2.c mkdir3.c rename6.c \
134 create-stat.c kill-softly.c kill-softer.c rm-rf.c \
135 exit-wo-close.c mmap-vs-read.c mmap-vs-read2.c \
136 strange-characters-c.c pine.c append-over-page.c \
137 write-ucc.c utime-dir.c mmap-shared-write.c rename5.c \
138 rename-under-feet.c write-closed.c write-closed2.c \
139 truncate.c fchmod.c make-page.c utime-file.c \
140 write3.c still-there-p.c write-large.c hardlink4.c \
141 intr-read.c asu.c truncate-files.c mmap-cat.c \
142 blocks-new-file.c fsx.c afscp.c afscp_callback.c \
145 EXTRA_OBJS = err.o errx.o warn.o warnx.o vwarn.o vwarnx.o verr.o verrx.o warnerr.o snprintf.o
147 OpenAFS/OS.pm: OpenAFS/OS-$(MKAFS_OSTYPE).pm
148 $(CP) OpenAFS/OS-$(MKAFS_OSTYPE).pm OpenAFS/OS.pm
150 fsx: fsx.o $(EXTRA_OBJS)
151 $(CC) $(LDFLAGS) -o $@ fsx.o $(EXTRA_OBJS) $(LIBS)
153 write-rand: write-rand.o $(EXTRA_OBJS)
154 $(CC) $(LDFLAGS) -o $@ write-rand.o $(EXTRA_OBJS) $(LIBS)
156 write-ro-file: write-ro-file.o $(EXTRA_OBJS)
157 $(CC) $(LDFLAGS) -o $@ write-ro-file.o $(EXTRA_OBJS) $(LIBS)
159 write-large: write-large.o $(EXTRA_OBJS)
160 $(CC) $(LDFLAGS) -o $@ write-large.o $(EXTRA_OBJS) $(LIBS)
162 read-vs-mmap: read-vs-mmap.o $(EXTRA_OBJS)
163 $(CC) $(LDFLAGS) -o $@ read-vs-mmap.o $(EXTRA_OBJS) $(LIBS)
165 read-vs-mmap2: read-vs-mmap2.o $(EXTRA_OBJS)
166 $(CC) $(LDFLAGS) -o $@ read-vs-mmap2.o $(EXTRA_OBJS) $(LIBS)
168 mmap-vs-read: mmap-vs-read.o $(EXTRA_OBJS)
169 $(CC) $(LDFLAGS) -o $@ mmap-vs-read.o $(EXTRA_OBJS) $(LIBS)
171 mmap-vs-read2: mmap-vs-read2.o $(EXTRA_OBJS)
172 $(CC) $(LDFLAGS) -o $@ mmap-vs-read2.o $(EXTRA_OBJS) $(LIBS)
174 read-write: read-write.o $(EXTRA_OBJS)
175 $(CC) $(LDFLAGS) -o $@ read-write.o $(EXTRA_OBJS) $(LIBS)
177 mmap-and-read: mmap-and-read.o $(EXTRA_OBJS)
178 $(CC) $(LDFLAGS) -o $@ mmap-and-read.o $(EXTRA_OBJS) $(LIBS)
180 large-dir: large-dir.o $(EXTRA_OBJS)
181 $(CC) $(LDFLAGS) -o $@ large-dir.o $(EXTRA_OBJS) $(LIBS)
183 large-dir2: large-dir2.o $(EXTRA_OBJS)
184 $(CC) $(LDFLAGS) -o $@ large-dir2.o $(EXTRA_OBJS) $(LIBS)
186 large-dir3: large-dir3.o $(EXTRA_OBJS)
187 $(CC) $(LDFLAGS) -o $@ large-dir3.o $(EXTRA_OBJS) $(LIBS)
189 fchmod: fchmod.o $(EXTRA_OBJS)
190 $(CC) $(LDFLAGS) -o $@ fchmod.o $(EXTRA_OBJS) $(LIBS)
192 truncate: truncate.o $(EXTRA_OBJS)
193 $(CC) $(LDFLAGS) -o $@ truncate.o $(EXTRA_OBJS) $(LIBS)
195 make-page: make-page.o $(EXTRA_OBJS)
196 $(CC) $(LDFLAGS) -o $@ make-page.o $(EXTRA_OBJS) $(LIBS)
198 still-there-p: still-there-p.o $(EXTRA_OBJS)
199 $(CC) $(LDFLAGS) -o $@ still-there-p.o $(EXTRA_OBJS) $(LIBS)
201 intr-read: intr-read.o $(EXTRA_OBJS)
202 $(CC) $(LDFLAGS) -o $@ intr-read.o $(EXTRA_OBJS) $(LIBS)
204 blocks-new-file: blocks-new-file.o $(EXTRA_OBJS)
205 $(CC) $(LDFLAGS) -o $@ blocks-new-file.o $(EXTRA_OBJS) $(LIBS)
207 asu: asu.o $(EXTRA_OBJS)
208 $(CC) $(LDFLAGS) -o $@ asu.o $(EXTRA_OBJS) $(LIBS)
210 test-setgroups: test-setgroups.o $(EXTRA_OBJS)
211 $(CC) $(LDFLAGS) -o $@ test-setgroups.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
213 test-setpag: test-setpag.o $(EXTRA_OBJS)
214 $(CC) $(LDFLAGS) -o $@ test-setpag.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
216 hardlink1: hardlink1.o $(EXTRA_OBJS)
217 $(CC) $(LDFLAGS) -o $@ hardlink1.o $(EXTRA_OBJS) $(LIBS)
219 hardlink2: hardlink2.o $(EXTRA_OBJS)
220 $(CC) $(LDFLAGS) -o $@ hardlink2.o $(EXTRA_OBJS) $(LIBS)
222 hardlink4: hardlink4.o $(EXTRA_OBJS)
223 $(CC) $(LDFLAGS) -o $@ hardlink4.o $(EXTRA_OBJS) $(LIBS)
225 mkdir2: mkdir2.o $(EXTRA_OBJS)
226 $(CC) $(LDFLAGS) -o $@ mkdir2.o $(EXTRA_OBJS) $(LIBS)
228 mkdir3: mkdir3.o $(EXTRA_OBJS)
229 $(CC) $(LDFLAGS) -o $@ mkdir3.o $(EXTRA_OBJS) $(LIBS)
231 create-files: create-files.o $(EXTRA_OBJS)
232 $(CC) $(LDFLAGS) -o $@ create-files.o $(EXTRA_OBJS) $(LIBS)
234 create-symlinks: create-symlinks.o $(EXTRA_OBJS)
235 $(CC) $(LDFLAGS) -o $@ create-symlinks.o $(EXTRA_OBJS) $(LIBS)
237 create-dirs: create-dirs.o $(EXTRA_OBJS)
238 $(CC) $(LDFLAGS) -o $@ create-dirs.o $(EXTRA_OBJS) $(LIBS)
240 create-remove: create-remove.o $(EXTRA_OBJS)
241 $(CC) $(LDFLAGS) -o $@ create-remove.o $(EXTRA_OBJS) $(LIBS)
243 dup2-and-unlog: dup2-and-unlog.o $(EXTRA_OBJS)
244 $(CC) $(LDFLAGS) -o $@ dup2-and-unlog.o $(EXTRA_OBJS) $(AUTH_LIBS) $(LIBS)
246 readdir-vs-lstat: readdir-vs-lstat.o $(EXTRA_OBJS)
247 $(CC) $(LDFLAGS) -o $@ readdir-vs-lstat.o $(EXTRA_OBJS) $(LIBS)
249 symlink: symlink.o $(EXTRA_OBJS)
250 $(CC) $(LDFLAGS) -o $@ symlink.o $(EXTRA_OBJS) $(LIBS)
252 echo-n: echo-n.o $(EXTRA_OBJS)
253 $(CC) $(LDFLAGS) -o $@ echo-n.o $(EXTRA_OBJS)
255 test-parallel1: test-parallel1.o $(EXTRA_OBJS)
256 $(CC) $(LDFLAGS) -o $@ test-parallel1.o $(EXTRA_OBJS) $(LIBS)
258 test-parallel2: test-parallel2.o $(EXTRA_OBJS)
259 $(CC) $(LDFLAGS) -o $@ test-parallel2.o $(EXTRA_OBJS) $(LIBS)
261 create-stat: create-stat.o fs_lib.o $(EXTRA_OBJS)
262 $(CC) $(LDFLAGS) -o $@ create-stat.o fs_lib.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
264 kill-softly: kill-softly.o $(EXTRA_OBJS)
265 $(CC) $(LDFLAGS) -o $@ kill-softly.o $(EXTRA_OBJS) $(LIBS)
267 kill-softer: kill-softer.o $(EXTRA_OBJS)
268 $(CC) $(LDFLAGS) -o $@ kill-softer.o $(EXTRA_OBJS) $(LIBS)
270 rm-rf: rm-rf.o fs_lib.o $(EXTRA_OBJS)
271 $(CC) $(LDFLAGS) -o $@ rm-rf.o fs_lib.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
273 exit-wo-close: exit-wo-close.o $(EXTRA_OBJS)
274 $(CC) $(LDFLAGS) -o $@ exit-wo-close.o $(EXTRA_OBJS) $(LIBS)
276 strange-characters-c: strange-characters-c.o $(EXTRA_OBJS)
277 $(CC) $(LDFLAGS) -o $@ strange-characters-c.o $(EXTRA_OBJS) $(LIBS)
279 pine: pine.o $(EXTRA_OBJS)
280 $(CC) $(LDFLAGS) -o $@ pine.o $(EXTRA_OBJS) $(LIBS)
282 append-over-page: append-over-page.o $(EXTRA_OBJS)
283 $(CC) $(LDFLAGS) -o $@ append-over-page.o $(EXTRA_OBJS) $(LIBS)
285 write-ucc: write-ucc.o $(EXTRA_OBJS)
286 $(CC) $(LDFLAGS) -o $@ write-ucc.o $(EXTRA_OBJS) $(LIBS)
288 utime-dir: utime-dir.o $(EXTRA_OBJS)
289 $(CC) $(LDFLAGS) -o $@ utime-dir.o $(EXTRA_OBJS) $(LIBS)
291 utime-file: utime-file.o $(EXTRA_OBJS)
292 $(CC) $(LDFLAGS) -o $@ utime-file.o $(EXTRA_OBJS) $(LIBS)
294 mmap-shared-write: mmap-shared-write.o $(EXTRA_OBJS)
295 $(CC) $(LDFLAGS) -o $@ mmap-shared-write.o $(EXTRA_OBJS) $(LIBS)
297 rename5: rename5.o $(EXTRA_OBJS)
298 $(CC) $(LDFLAGS) -o $@ rename5.o $(EXTRA_OBJS) $(LIBS)
300 rename6: rename6.o $(EXTRA_OBJS)
301 $(CC) $(LDFLAGS) -o $@ rename6.o $(EXTRA_OBJS) $(LIBS)
303 write3: write3.o $(EXTRA_OBJS)
304 $(CC) $(LDFLAGS) -o $@ write3.o $(EXTRA_OBJS) $(LIBS)
306 rename-under-feet: rename-under-feet.o $(EXTRA_OBJS)
307 $(CC) $(LDFLAGS) -o $@ rename-under-feet.o $(EXTRA_OBJS) $(LIBS)
309 write-closed: write-closed.o $(EXTRA_OBJS)
310 $(CC) $(LDFLAGS) -o $@ write-closed.o $(EXTRA_OBJS) $(LIBS)
312 write-closed2: write-closed2.o $(EXTRA_OBJS)
313 $(CC) $(LDFLAGS) -o $@ write-closed2.o $(EXTRA_OBJS) $(SYS_LIBS) $(LIBS)
315 truncate-files: truncate-files.o $(EXTRA_OBJS)
316 $(CC) $(LDFLAGS) -o $@ truncate-files.o $(EXTRA_OBJS) $(LIBS)
318 mmap-cat: mmap-cat.o $(EXTRA_OBJS)
319 $(CC) $(LDFLAGS) -o $@ mmap-cat.o $(EXTRA_OBJS) $(LIBS)
321 run-tests: run-tests.in
322 (cd ../..; CONFIG_FILES=src/tests/run-tests CONFIG_HEADERS= $(SHELL) @TOP_OBJDIR@/config.status)
326 # $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir) -I. $(REALCFLAGS) $<
328 afscp: afscp.o afscp_callback.o $(EXTRA_OBJS)
329 $(CC) $(LDFLAGS) -o $@ afscp.o afscp_callback.o $(EXTRA_OBJS) $(INT_LIBS) ${XLIBS}
331 hello-world: hello-world.in
332 sed -e "s!%CC%!$(CC)!" $(srcdir)/hello-world.in > $@
335 mountpoint: mountpoint.in
336 sed -e "s!%bindir%!$(bindir)!" $(srcdir)/mountpoint.in > $@
345 all: run-tests OpenAFS/OS.pm libxfiles.a libdumpscan.a $(TEST_PROGRAMS)\
346 afsdump_scan afsdump_dirlist afsdump_extract dumptool
350 -rm -f xf_errs.c xf_errs.h dumpscan_errs.c dumpscan_errs.h *.o \
351 $(TARGETS) run-tests $(TEST_PROGRAMS) OS.pm
353 include ../config/Makefile.version
358 check: run-tests $(TEST_PROGRAMS)
361 check-fast: run-tests $(TEST_PROGRAMS)
362 ./run-tests -all -fast
364 .PHONY: all install clean realclean distclean mostlyclean install uninstall check