mirror of
https://github.com/coreutils/coreutils.git
synced 2024-12-13 03:44:26 +08:00
146 lines
4.3 KiB
Makefile
146 lines
4.3 KiB
Makefile
# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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
|
|
|
|
GETOPT = getopt.o getopt1.o
|
|
|
|
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) \
|
|
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)
|
|
|
|
default: all
|
|
all check: 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)
|
|
|
|
clean:
|
|
rm -f *.a *.o
|
|
|
|
mostlyclean: clean
|
|
|
|
distclean: clean
|
|
rm -f Makefile *.tab.c tposixtm.c
|
|
|
|
maintainer-clean: distclean
|
|
rm -f TAGS getdate.c posixtm.c
|
|
|
|
distdir = ../@PACKAGE@-@VERSION@/$(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 default 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:
|