]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* Makefile.am (clean-ltmain-sh): Removed.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 1 May 2007 07:54:58 +0000 (07:54 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 1 May 2007 07:54:58 +0000 (07:54 +0000)
(libtool, $(srcdir)/$(m4dir)/ltversion.m4)
($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any
phony rules.  Test `$?' for prerequisites that should always
cause us to update the target.  Fixes rebuilding rules, at the
cost of sometimes updating too much with non-GNU make.

ChangeLog
Makefile.am

index 263876d179fa4754f8b3bd2963b802921d57e3e1..c3223f7db182105d9a62ebfd16805c3ae4d14fb0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-05-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.am (clean-ltmain-sh): Removed.
+       (libtool, $(srcdir)/$(m4dir)/ltversion.m4)
+       ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any
+       phony rules.  Test `$?' for prerequisites that should always
+       cause us to update the target.  Fixes rebuilding rules, at the
+       cost of sometimes updating too much with non-GNU make.
+
 2007-04-27  Noah Misch  <noah@cs.caltech.edu>
 
        * tests/ctor.at: New file.
index c29166e8bd89e64e2fb47ff8cb5fa659a38e94c0..bf61fab673da7226794bb59e49704b6033712ef9 100644 (file)
@@ -89,12 +89,15 @@ $(srcdir)/libtoolize.in: $(sh_files) libtoolize.m4sh Makefile.am
 # We used to do this with a 'stamp-vcl' file, but non-gmake builds
 # would rerun configure on every invocation, so now we manually
 # check the version numbers from the build rule when necessary.
-libtool: clean-ltmain-sh $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog
+libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog
        @target=libtool; $(rebuild); \
        if test -f "$$target"; then \
          set dummy `./$$target --version | sed 1q`; actualver="$$5"; \
          test "$$actualver" = "$$correctver" && rebuild=false; \
        fi; \
+       for prereq in $?; do \
+         case $$prereq in *ChangeLog);; *) rebuild=:;; esac; \
+       done; \
        if $$rebuild; then \
          echo $(SHELL) ./config.status $$target; \
          cd $(top_builddir) && $(SHELL) ./config.status $$target; \
@@ -144,15 +147,6 @@ EXTRA_DIST     += bootstrap $(srcdir)/libtoolize.in $(auxdir)/ltmain.m4sh \
 CLEANFILES     += libtool libtoolize libtoolize.tmp \
                  $(auxdir)/ltmain.tmp $(m4dir)/ltversion.tmp
 
-
-## We used to build ltmain.sh in the build tree, but now it is created
-## in the source tree by bootstrap.  This rule removes stale copies from
-## previous builds left behind in the build tree, that would override the
-## source tree version in current builds.
-clean-ltmain-sh:
-       @-test "$(srcdir)" = "$(top_builddir)" || \
-         rm -f "$(top_builddir)/$(auxdir)/ltmain.sh" stamp-vcl
-
 ## We build ltversion.m4 here, instead of from config.status,
 ## because config.status is rerun each time one of configure's
 ## dependencies change and ltversion.m4 happens to be a configure
@@ -164,13 +158,16 @@ clean-ltmain-sh:
 ## Use `$(srcdir)/m4' for the benefit of non-GNU makes: this is
 ## how ltversion.m4 appears in our dependencies.
 EXTRA_DIST += $(m4dir)/ltversion.in $(srcdir)/$(m4dir)/ltversion.m4
-$(srcdir)/$(m4dir)/ltversion.m4: clean-ltmain-sh $(m4dir)/ltversion.in configure.ac ChangeLog
+$(srcdir)/$(m4dir)/ltversion.m4: $(m4dir)/ltversion.in configure.ac ChangeLog
        @target='$(srcdir)/$(m4dir)/ltversion.m4'; $(rebuild); \
        if test -f "$$target"; then \
          set dummy `sed -n '/^# serial /p' "$$target"`; shift; \
          actualver=1.$$3; \
          test "$$actualver" = "$$correctver" && rebuild=false; \
        fi; \
+       for prereq in $?; do \
+         case $$prereq in *ChangeLog | *configure.ac);; *) rebuild=:;; esac; \
+       done; \
        if $$rebuild; then \
          cd $(srcdir); \
          rm -f $(m4dir)/ltversion.tmp; \
@@ -197,17 +194,22 @@ $(srcdir)/$(m4dir)/ltversion.m4: clean-ltmain-sh $(m4dir)/ltversion.in configure
 ##           distcheck (at least) by rebuilding ltmain.sh in the source
 ##           tree whenever config.status regenerates the Makefile.
 EXTRA_DIST += $(srcdir)/$(auxdir)/ltmain.sh
-$(srcdir)/$(auxdir)/ltmain.sh: clean-ltmain-sh $(sh_files) $(auxdir)/ltmain.m4sh configure.ac ChangeLog
+$(srcdir)/$(auxdir)/ltmain.sh: $(sh_files) $(auxdir)/ltmain.m4sh configure.ac ChangeLog
        @target='$(srcdir)/$(auxdir)/ltmain.sh'; $(rebuild); \
        if test -f "$$target"; then \
          eval `sed -n '/^package_revision=/p' "$$target"`; \
          actualver=$$package_revision; \
          test "$$actualver" = "$$correctver" && rebuild=false; \
        fi; \
+       for prereq in $?; do \
+         case $$prereq in *ChangeLog);; *) rebuild=:;; esac; \
+       done; \
        if $$rebuild; then \
          cd $(srcdir); \
          rm -f $(auxdir)/ltmain.in $(auxdir)/ltmain.tmp \
            $(auxdir)/ltmain.sh; \
+         echo $(M4SH) -B $(auxdir) $(auxdir)/ltmain.m4sh \
+           \> $(auxdir)/ltmain.in; \
          $(M4SH) -B $(auxdir) $(auxdir)/ltmain.m4sh \
            > $(auxdir)/ltmain.in; \
          input="ltmain.m4sh"; \