# 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 # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. SHELL = /bin/sh srcdir = @srcdir@ VPATH = @srcdir@ CC = @CC@ AR = ar RANLIB = @RANLIB@ DEFS = @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 euidaccess.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 obstack.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 rmdir.c \ save-cwd.c stpcpy.c \ strdup.c strstr.c strtol.c strtoul.c alloca.c long-options.c \ memcmp.c memcpy.c memset.c xstrtol.c xstrtoul.c OBJECTS = getdate.o posixtm.o \ argmatch.o backupfile.o basename.o dirname.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 obstack.o safe-read.o save-cwd.o savedir.o \ stripslash.o xgetcwd.o xmalloc.o xstrdup.o userspec.o yesno.o \ xstrtol.o xstrtoul.o @LIBOBJS@ @ALLOCA@ DISTFILES = Makefile.in backupfile.h getopt.h long-options.h modechange.h \ fnmatch.h fsusage.h group-member.h makepath.h mountlist.h obstack.h pathmax.h \ save-cwd.h getdate.c posixtm.c error.h xstrtol.h xstrtoul.h $(SOURCES) all: libfu.a .SUFFIXES: .SUFFIXES: .c .o COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) INCLUDES = -I.. -I$(srcdir) .c.o: $(COMPILE) $< subdir = lib Makefile: ../config.status Makefile.in cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status installdirs: install install-exec install-data: all uninstall: TAGS: $(SOURCES) etags $(SOURCES) check: clean: rm -f *.a *.o mostlyclean: clean distclean: clean rm -f Makefile *.tab.c tposixtm.c rm -rf .deps maintainer-clean: distclean rm -f TAGS getdate.c posixtm.c distdir = ../`cat ../distname`/$(subdir) dist: $(DISTFILES) for file in $(DISTFILES); do \ ln $$file $(distdir) \ || { echo copying $$file instead; cp -p $$file $(distdir);}; \ done libfu.a: $(OBJECTS) rm -f $@ $(AR) cr $@ $(OBJECTS) -$(RANLIB) $@ # 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 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 getopt1.o: getopt.h modechange.o: modechange.h mountlist.o: mountlist.h xgetcwd.o: pathmax.h makepath.o: makepath.h obstack.o: obstack.h group-member.o: group-member.h .PHONY: all check clean dist distclean install install-data install-exec \ installdirs maintainer-clean mostlyclean uninstall # 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: # The following include directive is uncommented automatically # when this package is configured with the --with-autodep option. # You need GNU make and a C compiler that can generate dependencies. @AUTODEP_COMMENT@include @top_srcdir@/mkdep-Makefile