diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2013-07-07 14:29:53 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2013-07-07 14:29:53 +0000 |
commit | 0df6dd4d8aea6edc733de81fb7eec115ea59a36e (patch) | |
tree | e2f7056cb53c58c8ef5779450ac468091b2bd86d /Build/source/texk/kpathsea | |
parent | 3675a91dd83af3eaa1c1a12e91af1e6c86f710f8 (diff) |
build system: additional Makefile fragments
better handling of dependencies for highly parallel make
git-svn-id: svn://tug.org/texlive/trunk@31127 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/kpathsea')
-rw-r--r-- | Build/source/texk/kpathsea/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/kpathsea/Makefile.am | 28 | ||||
-rw-r--r-- | Build/source/texk/kpathsea/Makefile.in | 65 |
3 files changed, 73 insertions, 24 deletions
diff --git a/Build/source/texk/kpathsea/ChangeLog b/Build/source/texk/kpathsea/ChangeLog index ad29e87dce4..2214f6a374d 100644 --- a/Build/source/texk/kpathsea/ChangeLog +++ b/Build/source/texk/kpathsea/ChangeLog @@ -4,6 +4,10 @@ in path names to the cases CP936 (simplified Chinese) and CP950 (traditional Chinese) on Windows system. +2013-07-06 Peter Breitenlohner <peb@mppmu.mpg.de> + + * Makefile.am: Use ../../am/rebuild.am. + 2013-07-05 Peter Breitenlohner <peb@mppmu.mpg.de> * Makefile.am, man/Makefile.am: diff --git a/Build/source/texk/kpathsea/Makefile.am b/Build/source/texk/kpathsea/Makefile.am index 37b104c2c7a..029fe0cd950 100644 --- a/Build/source/texk/kpathsea/Makefile.am +++ b/Build/source/texk/kpathsea/Makefile.am @@ -5,11 +5,6 @@ ## ACLOCAL_AMFLAGS = -I ../../m4 -# Rebuild -.PHONY: rebuild -rebuild: all-am - touch libkpathsea.la - SUBDIRS = . doc man EXTRA_DIST = BUGS PROJECTS @@ -211,13 +206,25 @@ stamp-paths: texmf.cnf bsnl.awk cnf-to-paths.awk rm -f paths.tmp date >$@ -kpathsea.h: Makefile paths.h +## Similarly we don't want to rewrite kpathsea.h when only Makefile has +## been remade but kpathsea.h remains the same. +## +kpathsea.h: stamp-kpathsea +stamp-kpathsea: Makefile paths.h $(AM_V_GEN)rm -f $@; \ ( echo '/* This is a generated file */'; \ echo '/* collecting all public kpathsea headers. */'; \ for f in config.h c-auto.h paths.h $(normal_headers); do \ echo "#include <kpathsea/$$f>"; \ - done ) >$@ + done ) >kpathsea.tmp + @if cmp -s kpathsea.h kpathsea.tmp 2>/dev/null; then \ + echo "kpathsea.h is unchanged"; \ + else \ + echo "cp kpathsea.tmp kpathsea.h"; \ + cp kpathsea.tmp kpathsea.h; \ + fi + rm -f kpathsea.tmp + date >$@ EXTRA_DIST += bsnl.awk cnf-to-paths.awk @@ -300,6 +307,13 @@ TESTS = kpseaccess.test kpsereadlink.test kpsestat.test kpsewhich.test TESTS_ENVIRONMENT = LN_S='$(LN_S)' LT_OBJDIR='$(LT_OBJDIR)' EXTRA_DIST += $(TESTS) +# Rebuild +rebuild_prereq = +rebuild_target = all-am +CLEANFILES = + +include $(srcdir)/../../am/rebuild.am + ## Not used ## EXTRA_DIST += mktex.cnf diff --git a/Build/source/texk/kpathsea/Makefile.in b/Build/source/texk/kpathsea/Makefile.in index 3c11138aa7c..c09f2746234 100644 --- a/Build/source/texk/kpathsea/Makefile.in +++ b/Build/source/texk/kpathsea/Makefile.in @@ -107,14 +107,14 @@ bin_PROGRAMS = kpseaccess$(EXEEXT) kpsereadlink$(EXEEXT) \ kpsestat$(EXEEXT) kpsewhich$(EXEEXT) EXTRA_PROGRAMS = progname-test$(EXEEXT) xdirtest$(EXEEXT) DIST_COMMON = $(top_srcdir)/../../am/bin_links.am \ - $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ - $(srcdir)/c-auto.in strcasecmp.c strstr.c putenv.c strtol.c \ - $(dist_noinst_SCRIPTS) $(dist_web2c_SCRIPTS) \ - $(top_srcdir)/../../build-aux/depcomp $(dist_noinst_DATA) \ - $(dist_web2c_DATA) $(kpseinclude_HEADERS) $(noinst_HEADERS) \ - $(top_srcdir)/../../build-aux/test-driver AUTHORS ChangeLog \ - NEWS README ../../build-aux/compile \ + $(srcdir)/../../am/rebuild.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(srcdir)/c-auto.in strcasecmp.c \ + strstr.c putenv.c strtol.c $(dist_noinst_SCRIPTS) \ + $(dist_web2c_SCRIPTS) $(top_srcdir)/../../build-aux/depcomp \ + $(dist_noinst_DATA) $(dist_web2c_DATA) $(kpseinclude_HEADERS) \ + $(noinst_HEADERS) $(top_srcdir)/../../build-aux/test-driver \ + AUTHORS ChangeLog NEWS README ../../build-aux/compile \ ../../build-aux/config.guess ../../build-aux/config.sub \ ../../build-aux/depcomp ../../build-aux/install-sh \ ../../build-aux/missing ../../build-aux/texinfo.tex \ @@ -783,6 +783,11 @@ dist_noinst_DATA = texmf.cnf bin_links = mktexlsr:texhash TESTS = kpseaccess.test kpsereadlink.test kpsestat.test kpsewhich.test TESTS_ENVIRONMENT = LN_S='$(LN_S)' LT_OBJDIR='$(LT_OBJDIR)' + +# Rebuild +rebuild_prereq = +rebuild_target = all-am +CLEANFILES = rebuild.stamp all: $(BUILT_SOURCES) c-auto.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -790,7 +795,7 @@ all: $(BUILT_SOURCES) c-auto.h .SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs am--refresh: Makefile @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../../am/bin_links.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../../am/bin_links.am $(srcdir)/../../am/rebuild.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -813,7 +818,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; -$(top_srcdir)/../../am/bin_links.am: +$(top_srcdir)/../../am/bin_links.am $(srcdir)/../../am/rebuild.am: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck @@ -2064,6 +2069,7 @@ mostlyclean-generic: -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -2186,11 +2192,6 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_web2cDATA \ uninstall-local uninstall-nodist_kpseincludeHEADERS -# Rebuild -.PHONY: rebuild -rebuild: all-am - touch libkpathsea.la - $(libkpathsea_la_OBJECTS): paths.h kpathsea.h paths.h: stamp-paths @@ -2213,13 +2214,22 @@ stamp-paths: texmf.cnf bsnl.awk cnf-to-paths.awk rm -f paths.tmp date >$@ -kpathsea.h: Makefile paths.h +kpathsea.h: stamp-kpathsea +stamp-kpathsea: Makefile paths.h $(AM_V_GEN)rm -f $@; \ ( echo '/* This is a generated file */'; \ echo '/* collecting all public kpathsea headers. */'; \ for f in config.h c-auto.h paths.h $(normal_headers); do \ echo "#include <kpathsea/$$f>"; \ - done ) >$@ + done ) >kpathsea.tmp + @if cmp -s kpathsea.h kpathsea.tmp 2>/dev/null; then \ + echo "kpathsea.h is unchanged"; \ + else \ + echo "cp kpathsea.tmp kpathsea.h"; \ + cp kpathsea.tmp kpathsea.h; \ + fi + rm -f kpathsea.tmp + date >$@ install-exec-local: installdirs-am @WIN32_FALSE@ @for f in $(dist_noinst_SCRIPTS); do \ @@ -2273,6 +2283,27 @@ uninstall-bin-links: install-exec-hook: install-bin-links uninstall-hook: uninstall-bin-links +rebuild.stamp: + echo timestamp >$@ + +.PHONY: rebuild +rebuild: $(rebuild_prereq) + @dry=; for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=*|--*);; \ + *n*) dry=:;; \ + esac; \ + done; \ + if test -f rebuild.stamp; then :; else \ + $$dry trap 'rm -rf rebuild.lock' 1 2 13 15; \ + if $$dry mkdir rebuild.lock 2>/dev/null; then \ + $(MAKE) $(AM_MAKEFLAGS) $(rebuild_target) rebuild.stamp; \ + $$dry rmdir rebuild.lock; \ + else \ + while test -d rebuild.lock && test -z "$$dry"; do sleep 1; done; \ + $$dry test -f rebuild.stamp; exit $$?; \ + fi; \ + fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. |