summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2007-09-02 11:37:57 +0200
committerJim Meyering <jim@meyering.net>2007-09-02 13:48:36 +0200
commit3ed2b48d10aa4120de8270b877cb8d5a0d3b9cf2 (patch)
tree5f65775a9de63c40cbb9d04dbca7ac7b21171334
parent2c57c49cc39e8e7250495d4d7ce713ba06272a46 (diff)
downloadcoreutils-3ed2b48d10aa4120de8270b877cb8d5a0d3b9cf2.tar.xz
Ensure that $(VERSION) is up to date for dist-related targets.
* GNUmakefile: Arrange to rerun autoconf, if the version reported by git-version-gen doesn't match $(VERSION), but only for dist targets. Signed-off-by: Jim Meyering <jim@meyering.net>
-rw-r--r--ChangeLog4
-rw-r--r--GNUmakefile14
2 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2ee14dc6f..82498f955 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2007-09-02 Jim Meyering <jim@meyering.net>
+ Ensure that $(VERSION) is up to date for dist-related targets.
+ * GNUmakefile: Arrange to rerun autoconf, if the version reported by
+ git-version-gen doesn't match $(VERSION), but only for dist targets.
+
bootstrap: uses rsync to download the .po files
* bootstrap (po_download_command_format): New global.
(download_po_files): Use rsync.
diff --git a/GNUmakefile b/GNUmakefile
index eef4cb073..92f989c2b 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -39,6 +39,20 @@ ifeq ($(have-Makefile),yes)
export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
include Makefile
+
+# Ensure that $(VERSION) is up to date for dist-related targets, but not
+# for others: rerunning autoconf and recompiling everything isn't cheap.
+ifeq (0,$(MAKELEVEL))
+ _is-dist-target = $(filter dist% alpha beta major,$(MAKECMDGOALS))
+ ifneq (,$(_is-dist-target))
+ _curr-ver := $(shell build-aux/git-version-gen 0 .version)
+ ifneq ($(_curr-ver),$(VERSION))
+ $(info INFO: rerunning autoconf for new version string $(_curr-ver))
+ $(shell touch configure.ac)
+ endif
+ endif
+endif
+
include $(srcdir)/Makefile.cfg
include $(srcdir)/Makefile.maint