Hi all, I was wondering why 'make stable' would always use a stale version unless I manually updated my .version file first. It turns out that if you use a non-standard build-aux location, you have to tell GNUmakefile by setting _build-aux to get the .version dist-hook machinery, and that you also have to set build_aux in order for maint.mk to work properly.
Before this patch, my cfg.mk needed: build_aux = $(srcdir)/libltdl/build-aux _build-aux = libltdl/build-aux This patch combines the two so that you I declare my build-aux directory with just: _build-aux = libltdl/build-aux Alternatively, we could change maint.mk to read: build-aux = $(srcdir)/$(_build-aux) ...but that leaves open the possibility of users like me only setting one or the other variable in cfg.mk and wondering why things almost work, but not quite. I think this is the cleaner, safer solution. Okay to push? * maint.mk (build_aux): Removed. The maintainer-makefile module depends on GNUmakefile, which already maintains a cfg.mk overridable $(_build-aux) for projects with a non-standard build-aux directory location, although without the $(srcdir) prefix. Use that variable consistently instead of introducing a second one. Adjust all call sites. --- ChangeLog | 10 ++++++++++ top/maint.mk | 15 ++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 93ee45e..54c34ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,14 @@ 2011-10-23 Gary V. Vaughan <g...@gnu.org> + + maint.mk: don't maintain a second build-aux variable. + * maint.mk (build_aux): Removed. The maintainer-makefile module + depends on GNUmakefile, which already maintains a cfg.mk + overridable $(_build-aux) for projects with a non-standard + build-aux directory location, although without the $(srcdir) + prefix. Use that variable consistently instead of introducing a + second one. Adjust all call sites. + +2011-10-23 Gary V. Vaughan <g...@gnu.org> Bruno Haible <br...@clisp.org> Jim Meyering <j...@meyering.net> diff --git a/top/maint.mk b/top/maint.mk index d51fec6..f6ad4f0 100644 --- a/top/maint.mk +++ b/top/maint.mk @@ -21,9 +21,6 @@ # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) ME := maint.mk -# Override this in cfg.mk if you use a non-standard build-aux directory. -build_aux ?= $(srcdir)/build-aux - # Do not save the original name or timestamp in the .tar.gz file. # Use --rsyncable if available. gzip_rsyncable := \ @@ -34,7 +31,7 @@ GZIP_ENV = '--no-name --best $(gzip_rsyncable)' GIT = git VC = $(GIT) -VC_LIST = $(build_aux)/vc-list-files -C $(srcdir) +VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir) # You can override this variable in cfg.mk to set your own regexp # matching files to ignore. @@ -274,7 +271,7 @@ define _sc_search_regexp endef sc_avoid_if_before_free: - @$(build_aux)/useless-if-before-free \ + @$(srcdir)/$(_build-aux)/useless-if-before-free \ $(useless_free_options) \ $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \ { echo '$(ME): found useless "if" before "free" above' 1>&2; \ @@ -1208,7 +1205,7 @@ else endif announcement: NEWS ChangeLog $(rel-files) - @$(build_aux)/announce-gen \ + @$(srcdir)/$(_build-aux)/announce-gen \ --mail-headers='$(announcement_mail_headers_)' \ --release-type=$(RELEASE_TYPE) \ --package=$(PACKAGE) \ @@ -1232,7 +1229,7 @@ upload_dest_dir_ ?= $(PACKAGE) emit_upload_commands: @echo ===================================== @echo ===================================== - @echo "$(build_aux)/gnupload $(GNUPLOADFLAGS) \\" + @echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\" @echo " --to $(gnu_rel_host):$(upload_dest_dir_) \\" @echo " $(rel-files)" @echo '# send the ~/announce-$(my_distdir) e-mail' @@ -1327,7 +1324,7 @@ web-manual: @test -z "$(manual_title)" \ && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : @cd '$(srcdir)/doc'; \ - $(SHELL) ../$(build_aux)/gendocs.sh $(gendocs_options_) \ + $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \ -o '$(abs_builddir)/doc/manual' \ --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ "$(PACKAGE_NAME) - $(manual_title)" @@ -1392,7 +1389,7 @@ update-copyright-env ?= update-copyright: grep -l -w Copyright \ $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \ - | $(update-copyright-env) xargs $(build_aux)/$@ + | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@ # This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not # overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS. -- 1.7.7 Cheers, -- Gary V. Vaughan (gary AT gnu DOT org)