# HG changeset patch # User Jim Meyering # Date 823146229 0 # Node ID fa12689ca23df82f17df99e5294e04889a132173 # Parent 67ecc25eeefe8b42536a15e50493eec6dfc86d2d (getdate.c, posixtm.c): Add rules for building these. diff -r 67ecc25eeefe -r fa12689ca23d lib/Makefile.am --- a/lib/Makefile.am Wed Jan 31 17:01:05 1996 +0000 +++ b/lib/Makefile.am Thu Feb 01 03:43:49 1996 +0000 @@ -6,18 +6,36 @@ 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 +BUILT_SOURCES = getdate.c posixtm.c + +# 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 -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 +# 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