X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2FMakefile.in;h=d240f568e5fa5d87a30933a97bf33e2011db5843;hb=f35893155a31779fb14ba7da078eacd97254939e;hp=d441c4e3c2b579208fd56ffc329457505d041695;hpb=d87c39464604e74f580c7fae835be31a4c125c36;p=gnulib.git diff --git a/lib/Makefile.in b/lib/Makefile.in index d441c4e3c..d240f568e 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -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,29 +76,37 @@ distclean: clean realclean: distclean rm -f TAGS -dist: - ln $(DISTFILES) ../`cat ../.fname`/lib +dist: $(DISTFILES) + for file in $(DISTFILES); do \ + ln $$file ../`cat ../.fname`/lib \ + || cp -p $$file ../`cat ../.fname`/lib; \ + done libfu.a: $(OBJECTS) rm -f $@ $(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 @@ -94,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: