.
authorJim Meyering <jim@meyering.net>
Wed, 31 Jan 1996 17:01:05 +0000 (17:01 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 31 Jan 1996 17:01:05 +0000 (17:01 +0000)
lib/Makefile.in

index 4e94dd515d4a7f01f41f86bd8a0cee5b5d4df30a..219a57e298302f41b36c46f1f4c75450a62b13c6 100644 (file)
@@ -44,21 +44,21 @@ posixtm.y rename.c rmdir.c stpcpy.c strdup.c strstr.c strtol.c strtoul.c
 
 INCLUDES = -I.. -I$(srcdir)
 
+fu_SOURCES = getdate.c posixtm.c argmatch.c backupfile.c basename.c \
+dirname.c error.c fileblocks.c filemode.c \
+full-write.c getopt.c getopt1.c getversion.c group-member.c idcache.c \
+isdir.c long-options.c makepath.c modechange.c obstack.c \
+safe-read.c save-cwd.c savedir.c stripslash.c userspec.c xgetcwd.c \
+xmalloc.c xstrdup.c xstrtol.c xstrtoul.c yesno.c
+
 fu_LIBADD = @LIBOBJS@ @ALLOCA@
 
 HEADERS = argmatch.h backupfile.h error.h fnmatch.h fsusage.h getopt.h \
 group-member.h long-options.h makepath.h modechange.h mountlist.h \
 obstack.h pathmax.h save-cwd.h xstrtol.h xstrtoul.h
 
-BUILT_SOURCES = posixtm.c getdate.c
 CONFIG_HEADER = ../config.h
-
-fu_SOURCES = getdate.c posixtm.c argmatch.c backupfile.c basename.c \
-dirname.c error.c fileblocks.c filemode.c \
-full-write.c getopt.c getopt1.c getversion.c group-member.c idcache.c \
-isdir.c long-options.c makepath.c modechange.c obstack.c \
-safe-read.c save-cwd.c savedir.c stripslash.c userspec.c xgetcwd.c \
-xmalloc.c xstrdup.c xstrtol.c xstrtoul.c yesno.c
+BUILT_SOURCES = getdate.c posixtm.c
 LIBRARIES = $(noinst_LIBRARIES)
 
 noinst_LIBFILES = libfu.a
@@ -253,6 +253,24 @@ install uninstall installdirs mostlyclean-generic distclean-generic \
 clean-generic maintainer-clean-generic clean mostlyclean distclean \
 maintainer-clean
 
+
+# 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 10 shift/reduce conflicts
+       $(YACC) $(srcdir)/getdate.y
+       mv y.tab.c getdate.c
+
+# Make the rename atomic, in case sed is interrupted and later rerun.
+# 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
 .SUFFIXES:
 .SUFFIXES: .c .o