GNU file utilities
[gnulib.git] / lib / Makefile.in
index af3bf1c..c9d9450 100644 (file)
@@ -1,5 +1,5 @@
-# Makefile for library files used by GNU fileutils.
-# Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
+# Makefile for library files used by GNU file utilities.
+# Copyright (C) 1990, 1991, 1992, 1993, 1994 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
@@ -23,33 +23,46 @@ VPATH = @srcdir@
 CC = @CC@
 AR = ar
 RANLIB = @RANLIB@
-DEFS = @DEFS@
+DEFS = -Dlint @DEFS@
 CFLAGS = @CFLAGS@
+YACC = @YACC@
 
+exec_prefix = @exec_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 \
+error.c filemode.c fsusage.c full-write.c getopt.c getopt1.c \
+getversion.c group-member.c idcache.c isdir.c makepath.c \
+modechange.c mountlist.c safe-read.c savedir.c \
 stripslash.c xgetcwd.c xmalloc.c xstrdup.c userspec.c yesno.c \
-fileblocks.c fnmatch.c ftruncate.c mkdir.c mktime.c rename.c stpcpy.c \
-strdup.c strstr.c alloca.c
+fileblocks.c fnmatch.c ftruncate.c mkdir.c mktime.c rename.c rmdir.c stpcpy.c \
+strdup.c strstr.c alloca.c long-options.c
 
 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 \
+error.o filemode.o full-write.o getopt.o getopt1.o \
+getversion.o group-member.o idcache.o isdir.o long-options.o makepath.o \
+modechange.o safe-read.o safe-stat.o safe-lstat.o savedir.o \
 stripslash.o xgetcwd.o xmalloc.o xstrdup.o userspec.o yesno.o \
 @LIBOBJS@ @ALLOCA@
 
-DISTFILES = Makefile.in backupfile.h getopt.h modechange.h \
-fnmatch.h fsusage.h mountlist.h pathmax.h system.h $(SOURCES)
+DISTFILES = Makefile.in backupfile.h getopt.h long-options.h modechange.h \
+fnmatch.h fsusage.h mountlist.h pathmax.h safe-xstat.cin safe-xstat.hin \
+getdate.c posixtm.c $(SOURCES)
 
 all: libfu.a
 
+.SUFFIXES:
+.SUFFIXES: .c .o
+
 .c.o:
-       $(CC) -c $(CPPFLAGS) $(DEFS) -I.. -I$(srcdir) $(CFLAGS) $<
+       $(CC) -c $(CPPFLAGS) $(DEFS) -I. -I.. -I$(srcdir) $(CFLAGS) $<
+
+subdir = lib
+Makefile: ../config.status Makefile.in
+       cd ..; CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+
+installdirs:
 
 install: all
 
@@ -66,15 +79,17 @@ clean:
 mostlyclean: clean
 
 distclean: clean
-       rm -f Makefile *.tab.c getdate.c *posixtm.c
+       rm -f Makefile *.tab.c getdate.c *posixtm.c \
+         safe-stat.c safe-stat.h safe-lstat.c safe-lstat.h
 
 realclean: distclean
        rm -f TAGS
 
-dist:
+distdir = ../`cat ../distname`/$(subdir)
+dist: $(DISTFILES)
        for file in $(DISTFILES); do \
-         ln $$file ../`cat ../.fname`/lib \
-           || cp -p $$file ../`cat ../.fname`/lib; \
+         ln $$file $(distdir) \
+           || { echo copying $$file instead; cp -p $$file $(distdir);}; \
        done
 
 libfu.a: $(OBJECTS)
@@ -82,10 +97,32 @@ libfu.a: $(OBJECTS)
        $(AR) cr $@ $(OBJECTS)
        -$(RANLIB) $@
 
+extract_stat = sed 's/@l@//g; s/@L@//g; /@LSTAT_ONLY@/d'
+extract_lstat = sed 's/@l@/l/g; s/@L@/L/g; s/  *@LSTAT_ONLY@//'
+
+safe-lstat.c: safe-xstat.cin
+       $(extract_lstat) $(srcdir)/safe-xstat.cin > $@-t
+       mv $@-t $@
+
+safe-lstat.h: safe-xstat.hin
+       $(extract_lstat) $(srcdir)/safe-xstat.hin > $@-t
+       mv $@-t $@
+
+safe-stat.c: safe-xstat.cin
+       $(extract_stat) $(srcdir)/safe-xstat.cin > $@-t
+       mv $@-t $@
+
+safe-stat.h: safe-xstat.hin
+       $(extract_stat) $(srcdir)/safe-xstat.hin > $@-t
+       mv $@-t $@
+
+safe-stat.o: safe-stat.h
+safe-lstat.o: safe-lstat.h safe-stat.h
+
 # 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
+       @echo expect 10 shift/reduce conflicts
        $(YACC) $(srcdir)/getdate.y
        mv y.tab.c getdate.c
 
@@ -100,6 +137,12 @@ posixtm.c: posixtm.y getdate.c
        mv tposixtm.c posixtm.c
        rm -f posixtm.tab.c
 
+rename.o: rename.c
+       $(CC) -c $(CPPFLAGS) -DMVDIR="\"$(libdir)/mvdir\"" $(DEFS) \
+           -I.. -I$(srcdir) $(CFLAGS) $(srcdir)/rename.c
+
+$(OBJECTS): ../config.h
+
 backupfile.o getversion.o: backupfile.h
 fnmatch.o: fnmatch.h
 fsusage.o: fsusage.h
@@ -107,6 +150,7 @@ getopt1.o: getopt.h
 modechange.o: modechange.h
 mountlist.o: mountlist.h
 xgetcwd.o: pathmax.h
+eaccess.o fsusage.o isdir.o makepath.o mkdir.o rename.o: safe-stat.h
 
 # 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.