merge with 3.8.4b
[gnulib.git] / lib / Makefile.in
index fb21e13..d240f56 100644 (file)
@@ -1,6 +1,5 @@
 # Makefile for library files used by GNU fileutils.
-# Do not use this makefile directly, but only from `../Makefile'.
-# Copyright (C) 1990, 1991, 1992 Free Software Foundation, Inc.
+# Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,21 +20,33 @@ SHELL = /bin/sh
 srcdir = @srcdir@
 VPATH = @srcdir@
 
-SOURCES = argmatch.c backupfile.c basename.c dirname.c eaccess.c \
+CC = @CC@
+AR = ar
+RANLIB = @RANLIB@
+DEFS = -DMVDIR="\"$(libdir)/mvdir\"" @DEFS@
+CFLAGS = @CFLAGS@
+YACC = @YACC@
+
+prefix = /usr/local
+exec_prefix = $(prefix)
+libdir = $(exec_prefix)/lib
+
+SOURCES = getdate.y posixtm.y \
+argmatch.c backupfile.c basename.c dirname.c eaccess.c \
 error.c filemode.c fsusage.c getopt.c getopt1.c \
 getversion.c idcache.c isdir.c makepath.c \
 modechange.c mountlist.c savedir.c \
 stripslash.c xgetcwd.c xmalloc.c xstrdup.c userspec.c yesno.c \
-getdate.y posixtm.y \
 fileblocks.c fnmatch.c ftruncate.c mkdir.c mktime.c rename.c stpcpy.c \
 strdup.c strstr.c alloca.c
 
-OBJECTS = argmatch.o backupfile.o basename.o dirname.o eaccess.o \
+OBJECTS = getdate.o posixtm.o \
+argmatch.o backupfile.o basename.o dirname.o eaccess.o \
 error.o filemode.o getopt.o getopt1.o \
 getversion.o idcache.o isdir.o makepath.o \
 modechange.o savedir.o \
 stripslash.o xgetcwd.o xmalloc.o xstrdup.o userspec.o yesno.o \
-getdate.o posixtm.o @LIBOBJS@ @ALLOCA@
+@LIBOBJS@ @ALLOCA@
 
 DISTFILES = Makefile.in backupfile.h getopt.h modechange.h \
 fnmatch.h fsusage.h mountlist.h pathmax.h system.h $(SOURCES)
@@ -43,7 +54,7 @@ fnmatch.h fsusage.h mountlist.h pathmax.h system.h $(SOURCES)
 all: libfu.a
 
 .c.o:
-       $(CC) -c $(CFLAGS) $(CPPFLAGS) $(DEFS) -I$(srcdir) $<
+       $(CC) -c $(CPPFLAGS) $(DEFS) -I.. -I$(srcdir) $(CFLAGS) $<
 
 install: all
 
@@ -52,6 +63,8 @@ uninstall:
 TAGS: $(SOURCES)
        etags $(SOURCES)
 
+check:
+
 clean:
        rm -f *.a *.o
 
@@ -63,10 +76,10 @@ distclean: clean
 realclean: distclean
        rm -f TAGS
 
-dist:
+dist: $(DISTFILES)
        for file in $(DISTFILES); do \
          ln $$file ../`cat ../.fname`/lib \
-           || cp $$file ../`cat ../.fname`/lib; \
+           || cp -p $$file ../`cat ../.fname`/lib; \
        done
 
 libfu.a: $(OBJECTS)
@@ -74,21 +87,26 @@ libfu.a: $(OBJECTS)
        $(AR) cr $@ $(OBJECTS)
        -$(RANLIB) $@
 
-# Since this directory contains two parsers, using bison without -y
-# is the only way to reliably do a parallel make.
+# Since this directory contains two parsers, we have to be careful to avoid
+# running two $(YACC)s during parallel makes.  See below.
 getdate.c: getdate.y
        @echo expect 9 shift/reduce conflicts
-       -bison -o getdate.c $(srcdir)/getdate.y || yacc $(srcdir)/getdate.y
-       test ! -f y.tab.c || mv y.tab.c getdate.c
+       $(YACC) $(srcdir)/getdate.y
+       mv y.tab.c getdate.c
 
 # Make the rename atomic, in case sed is interrupted and later rerun.
-posixtm.c: posixtm.y
-       -bison -o posixtm.tab.c $(srcdir)/posixtm.y || yacc $(srcdir)/posixtm.y
-       test ! -f y.tab.c || mv y.tab.c posixtm.tab.c
+# The artificial dependency on getdate.c keeps the two parsers from being
+# built in parallel.  Enforcing this little bit of sequentiality lets
+# everyone (even those without bison) still run mostly parallel builds.
+posixtm.c: posixtm.y getdate.c
+       $(YACC) $(srcdir)/posixtm.y
+       mv y.tab.c posixtm.tab.c
        sed -e 's/yy/zz/g' posixtm.tab.c > tposixtm.c
        mv tposixtm.c posixtm.c
        rm -f posixtm.tab.c
 
+$(OBJECTS): config.h
+
 backupfile.o getversion.o: backupfile.h
 fnmatch.o: fnmatch.h
 fsusage.o: fsusage.h
@@ -97,5 +115,6 @@ modechange.o: modechange.h
 mountlist.o: mountlist.h
 xgetcwd.o: pathmax.h
 
-# Prevent GNU make v3 from overflowing arg limit on SysV.
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT: