* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
* top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
whether the tree make is being run from is already configured or
not. Related simplifications.
Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
build-aux variable", "syntax-check" would do nothing but succeed with
the "No version control files detected..." diagnostic (unless you
happened to override _build-aux via cfg.mk).
* top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
to precede inclusion of maint.mk. Otherwise, these variables would
be used undefined in any project that does not override the default.
* top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
lists in maint.mk and announce-gen. Without this, "make stable"
would fail to ensure that $(VERSION) is up to date.
* build-aux/git-version-gen (tag_sed_script): New variable. Use it to
transform the output of "git describe" to the canonical form.
* top/GNUmakefile (_curr-ver): Pass $(git-version-gen-tag-sed-script) as
a second argument to `git-version-gen'.
Borrowing from a trick I discovered on the libvirt list.
More details about how this trick works:
GNU make parses all Makefiles, then checks whether they are
up-to-date, all before making anything else; if any Makefile
timestamps change, then it restarts with the original arguments and
repeats the check for up-to-date Makefiles (assuming that this time
the check will pass). Since all the rules are parsed before Makefile
is updated, proceeding without reloading Makefiles would result in the
use of the stale $(VERSION) string that was in effect when we first
started, so we must update a timestamp to force the reload. However,
if we made Makefile depend on _version, we would end up running
_version twice. So instead, we make _version run a recursive make to
update Makefile (the recursive make skips the rules for checking
whether the version string needs an update, avoiding any extra runs of
_version), then ensure that GNUmakefile has an updated timestamp to
force the reload of the updated Makefile.
* top/GNUmakefile (GNUmakefile): Create one-shot dependency rather
than using $(shell) to run _version target.
(_autoreconf): Run verbosely, by default.
Signed-off-by: Eric Blake <eblake@redhat.com>
* top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
additions in the Makefile.
(AM_RECURSIVE_TARGETS): New macro, override only if not provided
by Automake.
(.NOTPARALLEL): Only disable parallel builds if multiple targets
are listed on the command line and at least one of them is
listed in $(ALL_RECURSIVE_TARGETS).
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* top/GNUmakefile (_is-install-target): New macro.
(_curr-ver): Forbid installation with stale version number.
Signed-off-by: Eric Blake <ebb9@byu.net>
* top/GNUmakefile (_dummy): Warn rather than reconfigure if
git-version-gen fails to come up with a version.
Reported by Simon Josefsson.
Signed-off-by: Eric Blake <ebb9@byu.net>
* top/GNUmakefile (_dummy): Also delete .version when rebuilding
version string.
* build-aux/git-version-gen: Improve documentation.
Signed-off-by: Eric Blake <ebb9@byu.net>
* top/GNUmakefile [!_have-Makefile]: Add dependency on
MAKECMDGOALS to enforce message for all command line targets. Set
srcdir for use in maint.mk.
Signed-off-by: Eric Blake <ebb9@byu.net>