X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2FMakefile.am;h=73a7cb5a8fe0ffa7bc2fa2c1a6e0754e9f3b16d0;hb=91abc3ea5f6beb62c546bd01777dd056e1ffcd39;hp=42967326ed7bc07bb41835565eeabee1bb0f0776;hpb=a34cff2253a094f387bfe580ee26851d1d481968;p=gnulib.git diff --git a/lib/Makefile.am b/lib/Makefile.am index 42967326e..73a7cb5a8 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -2,28 +2,96 @@ AUTOMAKE_OPTIONS = ../src/ansi2knr -noinst_LIBRARIES = libfu.a - -EXTRA_DIST = chown.c getgroups.c getline.c lstat.c malloc.c mktime.c \ - realloc.c stat.c strftime.c +noinst_LIBRARIES = libfetish.a INCLUDES = -I.. -I$(srcdir) -I../intl +DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@ + +libfetish_a_SOURCES = \ + getdate.y posixtm.c addext.c argmatch.c backupfile.c basename.c \ + canon-host.c closeout.c diacrit.c dirname.c exclude.c filemode.c \ + full-write.c getopt.c getopt1.c getugroups.c hard-locale.c hash.c \ + human.c idcache.c isdir.c linebuffer.c localcharset.c long-options.c \ + makepath.c md5.c memcasecmp.c memcoll.c modechange.c path-concat.c \ + quotearg.c readtokens.c readutmp.c safe-read.c same.c save-cwd.c \ + savedir.c stripslash.c unicodeio.c userspec.c version-etc.c xgetcwd.c \ + xgethostname.c xmalloc.c xstrdup.c xstrtod.c xstrtol.c xstrtoul.c \ + xstrtoumax.c yesno.c + +libfetish_a_LIBADD = @LIBOBJS@ @ALLOCA@ +libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD) + +noinst_HEADERS = \ + argmatch.h backupfile.h bumpalloc.h closeout.h diacrit.h dirname.h error.h \ + exclude.h filemode.h fnmatch.h fsusage.h getdate.h getline.h getopt.h \ + getpagesize.h group-member.h hard-locale.h hash.h human.h lchown.h \ + linebuffer.h long-options.h md5.h memcasecmp.h memcoll.h \ + makepath.h modechange.h mountlist.h nanosleep.h obstack.h \ + path-concat.h pathmax.h posixtm.h quotearg.h readtokens.h \ + readutmp.h regex.h safe-read.h same.h save-cwd.h savedir.h \ + strverscmp.h unicodeio.h version-etc.h xalloc.h xstrtod.h xstrtol.h + +BUILT_SOURCES = getdate.c lstat.c stat.c +MAINTAINERCLEANFILES = $(BUILT_SOURCES) +DISTCLEANFILES = lstat.c stat.c + +EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin +lstat.c: xstat.in + sed \ + -e '/@IGNORE@/d' \ + -e 's/@xstat@/lstat/g' \ + -e '/_LSTAT_ONLY@/d' \ + -e '/@BEGIN_STAT_ONLY@/,/@END_STAT_ONLY@/d' \ + $(srcdir)/xstat.in > $@-t + mv $@-t $@ + +stat.c: xstat.in + sed \ + -e '/@IGNORE@/d' \ + -e 's/@xstat@/stat/g' \ + -e '/_STAT_ONLY@/d' \ + -e '/@BEGIN_LSTAT_ONLY@/,/@END_LSTAT_ONLY@/d' \ + $(srcdir)/xstat.in > $@-t + mv $@-t $@ + + +# The following is needed in order to install a simple file in $(libdir) +# which is shared with other installed packages. We use a list of referencing +# packages so that "make uninstall" will remove the file if and only if it +# is not used by another installed package. + +all-local: charset.alias ref-add.sed ref-del.sed + +charset_alias = $(DESTDIR)$(libdir)/charset.alias +charset_tmp = $(DESTDIR)$(libdir)/charset.tmp +install-exec-local: all-local + $(mkinstalldirs) $(DESTDIR)$(libdir) + test -f $(charset_alias) \ + && orig=$(charset_alias) \ + || orig=charset.alias; \ + sed -f ref-add.sed $$orig > $(charset_tmp) + $(INSTALL_DATA) $(charset_tmp) $(charset_alias) + rm -f $(charset_tmp) -libfu_a_SOURCES = getdate.y posixtm.y getopt.c getopt1.c \ -addext.c argmatch.c backupfile.c basename.c \ -closeout.c dirname.c exclude.c filemode.c \ -full-write.c human.c idcache.c \ -isdir.c long-options.c makepath.c modechange.c hash.c path-concat.c \ -quotearg.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 +uninstall-local: all-local + if test -f $(charset_alias); then \ + sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ + if grep '^# Packages using this file: $$' $(charset_tmp) \ + > /dev/null; then \ + rm -f $(charset_alias); \ + else \ + $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ + fi; \ + rm -f $(charset_tmp); \ + fi -libfu_a_LIBADD = @LIBOBJS@ @ALLOCA@ -libfu_a_DEPENDENCIES = $(libfu_a_LIBADD) +charset.alias: config.charset + $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ + mv t-$@ $@ -noinst_HEADERS = argmatch.h backupfile.h closeout.h \ -error.h exclude.h fnmatch.h fsusage.h \ -getdate.h getline.h getopt.h group-member.h human.h long-options.h \ -makepath.h modechange.h mountlist.h hash.h path-concat.h pathmax.h \ -quotearg.h save-cwd.h savedir.h strverscmp.h xalloc.h xstrtol.h xstrtoul.h +SUFFIXES = .sed .sin +.sin.sed: + sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t + mv $@-t $@ -BUILT_SOURCES = getdate.c posixtm.c +CLEANFILES = charset.alias ref-add.sed ref-del.sed