generated file target
[openafs.git] / src / tests / Makefile.in
index 590413b..cf36bec 100644 (file)
@@ -1,5 +1,9 @@
 srcdir         = @srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
 SHELL          = /bin/sh
 
@@ -36,6 +40,12 @@ OBJS_libdumpscan.a   = primitive.o util.o dumpscan_errs.o parsetag.o \
 TARGETS = libxfiles.a libdumpscan.a \
           afsdump_scan afsdump_dirlist afsdump_extract dumptool
 
+all: run-tests OpenAFS/Dirpath.pm libxfiles.a libdumpscan.a $(TEST_PROGRAMS)\
+       afsdump_scan afsdump_dirlist afsdump_extract dumptool OpenAFS/Dirpath.sh
+       @chmod +x run-tests
+
+generated: xf_errs.c xf_errs.h dumpscan_errs.c dumpscan_errs.h
+
 afsdump_scan: libxfiles.a libdumpscan.a $(OBJS_afsdump_scan)
        $(CC) $(CFLAGS) $(LDFLAGS) -o afsdump_scan $(OBJS_afsdump_scan) $(LIBS)
 
@@ -72,38 +82,19 @@ dumpscan_errs.c dumpscan_errs.h: dumpscan_errs.et
 
 util.o xfiles.o xf_files.o: xf_errs.h
 backuphdr.o directory.o parsedump.o parsetag.o: dumpscan_errs.h
-parsevnode.o parsevol.o pathname.o repair.o:    dumpscan_errs.h
-stagehdr.o util.o:                              dumpscan_errs.h
-
-${DEST}/etc/afsdump_scan: afsdump_scan
-       ${INSTALL} $? $@
-
-${DEST}/etc/afsdump_dirlist: afsdump_dirlist
-       ${INSTALL} $? $@
-
-${DEST}/etc/afsdump_extract: afsdump_extract
-       ${INSTALL} $? $@
-
-${DEST}/etc/dumptool: dumptool
-       ${INSTALL} $? $@
+parsevnode.o parsevol.o pathname.o stagehdr.o:  dumpscan_errs.h
+util.o:                                         dumpscan_errs.h
 
-${DESTDIR}${sbindir}/afsdump_scan: afsdump_scan
-       ${INSTALL} $? $@
-
-${DESTDIR}${sbindir}/afsdump_dirlist: afsdump_dirlist
-       ${INSTALL} $? $@
-
-${DESTDIR}${sbindir}/afsdump_extract: afsdump_extract
-       ${INSTALL} $? $@
-
-${DESTDIR}${sbindir}/dumptool: dumptool
-       ${INSTALL} $? $@
+# repair addresses the same storage as two different types of structs at the
+# same time.
+repair.o: repair.c dumpscan_errs.h
+       $(CCOBJ) $(CFLAGS) @CFLAGS_NOSTRICT@ -c ${srcdir}/repair.c
 
 ${TOP_LIBDIR}/libxfiles.a: libxfiles.a
-       ${INSTALL} $? $@
+       ${INSTALL_DATA} $? $@
 
 ${TOP_LIBDIR}/libdumpscan.a: libdumpscan.a
-       ${INSTALL} $? $@
+       ${INSTALL_DATA} $? $@
 
 SYS_LIBS       = ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a
 
@@ -164,9 +155,6 @@ TEST_SRCS     = write-ro-file.c read-vs-mmap.c read-vs-mmap2.c                 \
 
 EXTRA_OBJS = err.o errx.o warn.o warnx.o vwarn.o vwarnx.o verr.o verrx.o warnerr.o snprintf.o 
 
-OpenAFS/OS.pm: OpenAFS/OS-$(MKAFS_OSTYPE).pm
-       $(CP) OpenAFS/OS-$(MKAFS_OSTYPE).pm OpenAFS/OS.pm
-
 fsx: fsx.o $(EXTRA_OBJS)
        $(CC) $(LDFLAGS) -o $@ fsx.o $(EXTRA_OBJS) $(LIBS)
 
@@ -362,13 +350,9 @@ install:
 
 uninstall:
 
-all: run-tests OpenAFS/OS.pm libxfiles.a libdumpscan.a $(TEST_PROGRAMS)\
-       afsdump_scan afsdump_dirlist afsdump_extract dumptool
-       @chmod +x run-tests
-
 clean:
        -rm -f xf_errs.c xf_errs.h dumpscan_errs.c dumpscan_errs.h *.o \
-       $(TARGETS) run-tests $(TEST_PROGRAMS) OS.pm
+       $(TARGETS) run-tests $(TEST_PROGRAMS) OpenAFS/Dirpath.pm OpenAFS/Dirpath.sh
 
 include ../config/Makefile.version
 
@@ -381,4 +365,86 @@ check: run-tests $(TEST_PROGRAMS)
 check-fast: run-tests $(TEST_PROGRAMS)
        ./run-tests -all -fast
 
+# Note: The autoconf variables are not fully expanded
+#       until make is run so we resort to creating the
+#       configuration at make time.
+OpenAFS/Dirpath.pm: Makefile
+       @echo "Creating OpenAFS/Dirpath.pm"
+       @echo "# This is -*- perl -*-"                          >$@
+       @echo "# auto-generated by src/tests/Makefile"          >>$@
+       @echo "# DO NOT EDIT"                                   >>$@
+       @echo "package OpenAFS::Dirpath;"                       >>$@
+       @echo "use strict;"                                     >>$@
+       @echo "use vars qw( @ISA @EXPORT \$$openafsdirpath);"   >>$@
+       @echo "@ISA = qw(Exporter);"                            >>$@
+       @echo "require Exporter;"                               >>$@
+       @echo "@EXPORT = qw(\$$openafsdirpath);"                >>$@
+       @echo ""                                                >>$@
+       @echo "\$$openafsdirpath = {"                           >>$@
+       @echo "  'afsconfdir'       => '@afsconfdir@',"         >>$@
+       @echo "  'viceetcdir'       => '@viceetcdir@',"         >>$@
+       @echo "  'afssrvbindir'     => '@afssrvbindir@',"       >>$@
+       @echo "  'afssrvsbindir'    => '@afssrvsbindir@',"      >>$@
+       @echo "  'afssrvlibexecdir' => '@afssrvlibexecdir@',"   >>$@
+       @echo "  'afsdbdir'         => '@afsdbdir@',"           >>$@
+       @echo "  'afslogsdir'       => '@afslogsdir@',"         >>$@
+       @echo "  'afslocaldir'      => '@afslocaldir@',"        >>$@
+       @echo "  'afsbackupdir'     => '@afsbackupdir@',"       >>$@
+       @echo "  'afsbosconfigdir'  => '@afsbosconfigdir@',"    >>$@
+       @echo "  'ostype'           => '@MKAFS_OSTYPE@',"       >>$@
+       @if test "@afsconfdir@" = "/usr/afs/etc" ; then \
+               echo "  # transarc paths" ;\
+               echo "  'cachedir'     => '/usr/vice/cache'," ;\
+               echo "  'afsddir'      => '/usr/vice/etc'," ;\
+               echo "  'initdir'      => '/usr/vice/etc',"  ;\
+               echo "  'afskerneldir' => '/usr/vice/etc/modload'," ;\
+               echo "  'afswsbindir'  => '/usr/afsws/bin'," ;\
+       else \
+               echo "  # modern paths" ;\
+               echo "  'cachedir'     => '@localstatedir@/openafs/cache'," ;\
+               echo "  'afsddir'      => '@afssrvsbindir@'," ;\
+               echo "  'initdir'      => '@sysconfdir@',"  ;\
+               echo "  'afskerneldir' => '@afskerneldir@'," ;\
+               echo "  'afswsbindir'  => '@afssrvbindir@'," ;\
+       fi >>$@
+       @echo "};"                                              >>$@
+       @echo ""                                                >>$@
+       @echo "1;"                                              >>$@
+
+OpenAFS/Dirpath.sh: Makefile
+       @echo "Creating OpenAFS/Dirpath.sh"                                     
+       @echo "# auto-generated by src/tests/Makefile"            >$@
+       @echo "# source or '.' in this file in shell"              >>$@
+       @echo "# DO NOT EDIT"                                                      >>$@
+       @echo "  AFSCONFDIR=@afsconfdir@"         >>$@
+       @echo "  VICEETCDIR=@viceetcdir@"         >>$@
+       @echo "  AFSSRVBINDIR=@afssrvbindir@"       >>$@
+       @echo "  AFSSRVSBINDIR=@afssrvsbindir@"      >>$@
+       @echo "  AFSSRVLIBEXECDIR=@afssrvlibexecdir@"   >>$@
+       @echo "  AFSDBDIR=@afsdbdir@"           >>$@
+       @echo "  AFSLOGSDIR=@afslogsdir@"         >>$@
+       @echo "  AFSLOCALDIR=@afslocaldir@"        >>$@
+       @echo "  AFSBACKUPDIR=@afsbackupdir@"       >>$@
+       @echo "  AFSBOSCONFIGDIR=@afsbosconfigdir@"    >>$@
+       @echo "  OSTYPE=@MKAFS_OSTYPE@"       >>$@
+       @if test "@afsconfdir@" = "/usr/afs/etc" ;  then \
+               echo "# transarc paths" ;\
+               echo "  CACHEDIR=/usr/vice/cache" ;\
+               echo "  AFSDDIR=/usr/vice/etc" ;\
+               echo "  INITDIR=/usr/vice/etc" ; \
+               echo "  AFSKERNELDIR=/usr/vice/etc/modload" ;\
+               echo "  AFSWSBINDIR=/usr/afsws/bin" ;\
+       else \
+               echo "# modern paths" ;\
+           echo "  CACHEDIR=@localstatedir@/openafs/cache" ;\
+           echo "  AFSDDIR=@afssrvsbindir@" ;\
+           echo "  INITDIR=@sysconfdir@"  ;\
+           echo "  AFSKERNELDIR=@afskerneldir@" ;\
+           echo "  AFSWSBINDIR=@afssrvbindir@" ;\
+       fi >>$@
+       @echo "export AFSCONFDIR VICEETCDIR AFSSRVBINDIR AFSSRVSBINDIR" >>$@
+       @echo "export AFSSRVLIBEXECDIR AFSDBDIR AFSLOGSDIR AFSLOCALDIR" >>$@
+       @echo "export AFSBACKUPDIR AFSBOSCONFIGDIR OSTYPE CACHEDIR AFSDDIR" >>$@
+       @echo "export INITDIR AFSKERNELDIR AFSWSBINDIR" >>$@
+
 .PHONY:                all install clean realclean distclean mostlyclean install uninstall check