From 3ed2b48d10aa4120de8270b877cb8d5a0d3b9cf2 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 2 Sep 2007 11:37:57 +0200 Subject: 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 --- ChangeLog | 4 ++++ GNUmakefile | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2ee14dc6f..82498f955 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-09-02 Jim Meyering + 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 -- cgit v1.2.3-54-g00ecf