Eric Blake <[EMAIL PROTECTED]> writes: > At least coreutils, m4, and autoconf use the gnumakefile but not > maintainer-makefile from gnulib (mainly because there is a lot of > merging that has to be done to bring the maint.mk back into a common > state).
It would be nice to merge these eventually. Can't these projects move its maint.mk contents to cfg.mk? If some rules in maint.mk conflict, I think we could remove it or review the differences. I could work on patches for these other projects. Making m4 use gnulib's maint.mk doesn't look too difficult to me. I think all the rules in m4's maint.mk could be moved into cfg.mk, and then m4 could start to use gnulib's maintainer-makefile module too. How about this patch against m4? /Simon >From a26de606b1426a077a9e9803aa26eac09ef42f3d Mon Sep 17 00:00:00 2001 From: Simon Josefsson <[EMAIL PROTECTED]> Date: Thu, 11 Dec 2008 09:39:06 +0100 Subject: [PATCH] Move our maint.mk rules to cfg.mk and use gnulib's maintainer-makefile module. --- cfg.mk | 35 ++++++++++++++++++++++++++++++ ltdl/m4/gnulib-cache.m4 | 3 +- maint.mk | 54 ----------------------------------------------- 3 files changed, 37 insertions(+), 55 deletions(-) delete mode 100644 maint.mk diff --git a/cfg.mk b/cfg.mk index 99abe29..066f16f 100644 --- a/cfg.mk +++ b/cfg.mk @@ -35,3 +35,38 @@ local-checks-to-skip = changelog-check # The local directory containing the checked-out copy of gnulib used in this # release. Used solely to get gnulib's SHA1 for the "announcement" target. gnulib_dir = $(srcdir)/../gnulib + +## ## +## --- RULES FOR THE MAINTAINER --- ## +## ## + +## TODO - fix these rules now that m4 is maintained in git, not CVS. + +CVS = cvs # set it to `:' to avoid CVS operations at dist time + +# Tag before making distribution. Also, don't make a distribution if +# checks fail. Also, make sure the NEWS file is up-to-date. +cvs-dist: distcheck # maintainer-check + @if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" > dev/null; \ + echo "NEWS not updated; not releasing" 1>&2; \ + exit 1; + fi + cd $(srcdir) && \ + $(CVS) -q tag `echo "Release-$(VERSION)" | sed 's/\./-/g'` + $(MAKE) dist + +cvs-diff: + thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \ + if test -z "$$OLDVERSION"; then \ + prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \ + else prevno="$$OLDVERSION"; fi; \ + prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \ + cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \ + > $(PACKAGE)-$$prevno-$(VERSION).diff + +.PHONY: web-manual +web-manual: + @cd $(srcdir)/doc; \ + $(SHELL) "$(abs_srcdir)/$(config_aux_dir)/gendocs.sh" $(PACKAGE) \ + "GNU $(PACKAGE)- GNU macro processor" + @echo " *** Upload the doc/manual directory to web-cvs." diff --git a/ltdl/m4/gnulib-cache.m4 b/ltdl/m4/gnulib-cache.m4 index 2058ded..9b6864c 100644 --- a/ltdl/m4/gnulib-cache.m4 +++ b/ltdl/m4/gnulib-cache.m4 @@ -15,7 +15,7 @@ # Specification in the form of a command-line invocation: -# gnulib-tool --import --dir=. --local-dir=local --lib=libgnu --source-base=gnu --m4-base=ltdl/m4 --doc-base=doc --tests-base=tests/gnu --aux-dir=build-aux --with-tests --libtool --macro-prefix=M4 assert autobuild avltree-oset binary-io clean-temp cloexec close-stream closein config-h configmake dirname error exit fdl-1.3 fflush filenamecat flexmember fopen fopen-safer fseeko gendocs gettext git-version-gen gnumakefile gnupload gpl-3.0 intprops memmem mkstemp obstack obstack-printf-posix progname propername quote regex regexprops-generic sprintf-posix stdbool stdlib-safer strnlen strtod strtol tempname unlocked-io vasnprintf-posix verify verror xalloc xalloc-die xmemdup0 xprintf-posix xstrndup xvasprintf-posix +# gnulib-tool --import --dir=. --local-dir=local --lib=libgnu --source-base=gnu --m4-base=ltdl/m4 --doc-base=doc --tests-base=tests/gnu --aux-dir=build-aux --with-tests --libtool --macro-prefix=M4 assert autobuild avltree-oset binary-io clean-temp cloexec close-stream closein config-h configmake dirname error exit fdl-1.3 fflush filenamecat flexmember fopen fopen-safer fseeko gendocs gettext git-version-gen gnumakefile gnupload gpl-3.0 intprops maintainer-makefile memmem mkstemp obstack obstack-printf-posix progname propername quote regex regexprops-generic sprintf-posix stdbool stdlib-safer strnlen strtod strtol tempname unlocked-io vasnprintf-posix verify verror xalloc xalloc-die xmemdup0 xprintf-posix xstrndup xvasprintf-posix # Specification in the form of a few gnulib-tool.m4 macro invocations: gl_LOCAL_DIR([local]) @@ -47,6 +47,7 @@ gl_MODULES([ gnupload gpl-3.0 intprops + maintainer-makefile memmem mkstemp obstack diff --git a/maint.mk b/maint.mk deleted file mode 100644 index 2ab4c77..0000000 --- a/maint.mk +++ /dev/null @@ -1,54 +0,0 @@ -## maint.mk - maintainer rules for managing m4 distributions -## -## Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008 Free -## Software Foundation, Inc. -## -## This file is part of GNU M4. -## -## GNU M4 is free software: you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation, either version 3 of the License, or -## (at your option) any later version. -## -## GNU M4 is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program. If not, see <http://www.gnu.org/licenses/>. - -## ## -## --- RULES FOR THE MAINTAINER --- ## -## ## - -## TODO - fix this file now that m4 is maintained in git, not CVS. - -CVS = cvs # set it to `:' to avoid CVS operations at dist time - -# Tag before making distribution. Also, don't make a distribution if -# checks fail. Also, make sure the NEWS file is up-to-date. -cvs-dist: distcheck # maintainer-check - @if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" > dev/null; \ - echo "NEWS not updated; not releasing" 1>&2; \ - exit 1; - fi - cd $(srcdir) && \ - $(CVS) -q tag `echo "Release-$(VERSION)" | sed 's/\./-/g'` - $(MAKE) dist - -cvs-diff: - thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \ - if test -z "$$OLDVERSION"; then \ - prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \ - else prevno="$$OLDVERSION"; fi; \ - prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \ - cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \ - > $(PACKAGE)-$$prevno-$(VERSION).diff - -.PHONY: web-manual -web-manual: - @cd $(srcdir)/doc; \ - $(SHELL) "$(abs_srcdir)/$(config_aux_dir)/gendocs.sh" $(PACKAGE) \ - "GNU $(PACKAGE)- GNU macro processor" - @echo " *** Upload the doc/manual directory to web-cvs." -- 1.5.6.5