X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2FMakefile.am;h=ed7391369c518438765da9e723a80fec767d5abc;hb=2238bc8f821ef84c53dc823a67b4326b0b211da1;hp=28bec571f23d7fbcbb46893b4329e16f5e902a7e;hpb=43523fc07059f1caba69425ad3d329340f66e0ff;p=gnulib.git diff --git a/lib/Makefile.am b/lib/Makefile.am index 28bec571f..ed7391369 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -4,46 +4,122 @@ AUTOMAKE_OPTIONS = ../src/ansi2knr noinst_LIBRARIES = libfetish.a -INCLUDES = -I.. -I$(srcdir) -I../intl +INCLUDES = -I.. -I$(srcdir) DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@ +## Put relatively complex files at the beginning of the list so +## that parallel compiles finish a tiny bit sooner. I don't see +## a way to make regex.c appear earlier in the list, since it's +## added by automake, but on systems with an up to date GNU libc, +## regex.c isn't even compiled. libfetish_a_SOURCES = \ - getdate.y posixtm.c addext.c argmatch.c backupfile.c basename.c \ - canon-host.c closeout.c dirname.c exclude.c filemode.c diacrit.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 + acl.h acl.c \ + getdate.h getdate.y \ + posixtm.c posixtm.h \ + posixver.c posixver.h \ + strftime.c \ + getopt.c getopt.h getopt1.c \ + hash.c hash.h \ + hash-pjw.c hash-pjw.h \ + __fpending.h \ + addext.c \ + argmatch.c argmatch.h \ + backupfile.c backupfile.h \ + basename.c \ + bumpalloc.h \ + canon-host.c \ + c-stack.c c-stack.h \ + closeout.c closeout.h \ + diacrit.c diacrit.h \ + dirname.c dirname.h \ + dirfd.h \ + dup-safer.c \ + exclude.c exclude.h \ + exitfail.c exitfail.h \ + filemode.c filemode.h \ + file-type.c file-type.h \ + fnmatch_.h \ + fopen-safer.c \ + fsusage.h \ + full-write.c full-write.h \ + getline.h \ + getpagesize.h \ + getstr.c getstr.h \ + gettime.c \ + gettext.h \ + getugroups.c \ + group-member.h \ + hard-locale.c hard-locale.h \ + human.c human.h \ + idcache.c \ + isdir.c \ + lchown.h \ + linebuffer.c linebuffer.h \ + localcharset.c \ + long-options.c long-options.h \ + makepath.c makepath.h \ + mbswidth.c mbswidth.h \ + md5.c md5.h \ + memcasecmp.c memcasecmp.h \ + memcoll.c memcoll.h \ + modechange.c modechange.h \ + mountlist.h \ + path-concat.c path-concat.h \ + pathmax.h \ + physmem.c physmem.h \ + quote.c quote.h \ + quotearg.c quotearg.h \ + readtokens.c readtokens.h \ + readutmp.h \ + regex.h \ + safe-read.c safe-read.h \ + same.c same.h \ + save-cwd.c save-cwd.h \ + savedir.c savedir.h \ + settime.c \ + sha.c sha.h \ + sig2str.h \ + stdio-safer.h \ + stripslash.c \ + strverscmp.h \ + timespec.h \ + unicodeio.c unicodeio.h \ + unistd-safer.h \ + userspec.c \ + version-etc.c version-etc.h \ + xalloc.h \ + xgetcwd.c \ + xgethostname.c \ + xmalloc.c \ + xmemcoll.c xmemcoll.h \ + xreadlink.c xreadlink.h \ + xstrdup.c \ + xstrtod.c xstrtod.h \ + xstrtol.c xstrtol.h \ + xstrtoul.c \ + xstrtoimax.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 + +BUILT_SOURCES = getdate.c lstat.c stat.c unlocked-io.h MAINTAINERCLEANFILES = $(BUILT_SOURCES) -DISTCLEANFILES = lstat.c stat.c +DISTCLEANFILES = lstat.c stat.c unlocked-io.h + +EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin gen-uio \ + fnmatch_loop.c -EXTRA_DIST = xstat.in config.charset ref-add.sed.in ref-del.sed.in 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 $@ + $(srcdir)/xstat.in > t-$@ + mv t-$@ $@ stat.c: xstat.in sed \ @@ -51,27 +127,33 @@ stat.c: xstat.in -e 's/@xstat@/stat/g' \ -e '/_STAT_ONLY@/d' \ -e '/@BEGIN_LSTAT_ONLY@/,/@END_LSTAT_ONLY@/d' \ - $(srcdir)/xstat.in > $@-t - mv $@-t $@ - + $(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. +# On systems with glibc-2.1 or newer, the file is redundant, therefore we +# avoid installing it. -all-local: charset.alias ref-add.sed ref-del.sed +all-local: charset.alias ref-add.sed ref-del.sed lstat.c stat.c unlocked-io.h 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) + if test -f $(charset_alias); then \ + sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ + $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ + rm -f $(charset_tmp) ; \ + else \ + if test @GLIBC21@ = no; then \ + sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ + $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ + rm -f $(charset_tmp) ; \ + fi ; \ + fi uninstall-local: all-local if test -f $(charset_alias); then \ @@ -86,12 +168,30 @@ uninstall-local: all-local fi charset.alias: config.charset - $(SHELL) $(srcdir)/config.charset '@host@' > $@-t - mv $@-t $@ + $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ + mv t-$@ $@ -SUFFIXES = .sed .sed.in -.sed.in.sed: - sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t - mv $@-t $@ +SUFFIXES = .sed .sin +.sin.sed: + sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@ + mv t-$@ $@ CLEANFILES = charset.alias ref-add.sed ref-del.sed + +############################################### + +# FIXME: remove this dependency once automake handles it. +# As of cvs automake of about 2002-01-13, +# this dependency is necessary to avoid a build failure +# when running `make check' before running `make all'. +# Otherwise, unlocked-io.h is not built before it's needed. +getdate$U.o: unlocked-io.h + +# FIXME: CAUTION this list is a duplicate of one in ../Makefile.cfg. +io_functions = \ + clearerr feof ferror fflush fgets fputc fputs \ + fread fwrite getc getchar putc putchar + +unlocked-io.h: $(srcdir)/gen-uio Makefile.am + srcdir=$(srcdir) $(SHELL) $(srcdir)/gen-uio $(io_functions) > $@t + mv $@t $@