changeset 12443:3a97f22a64eb

maint.mk: allow a project to override release-prep commands * top/maint.mk (alpha, beta, stable): Move release-preparatory commands into a new rule. (release-prep): New rule. (release-prep-hook): New overridable variable.
author Alfred M. Szmidt <ams@gnu.org>
date Sun, 13 Dec 2009 15:11:14 +0100
parents c26b27c60fdd
children 29d240cb21b2
files ChangeLog top/maint.mk
diffstat 2 files changed, 19 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
+
+	maint.mk: allow a project to override release-prep commands
+	* top/maint.mk (alpha, beta, stable): Move release-preparatory
+	commands into a new rule.
+	(release-prep): New rule.
+	(release-prep-hook): New overridable variable.
+
 2009-12-13  Bruno Haible  <bruno@clisp.org>
 
 	* lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
--- a/top/maint.mk
+++ b/top/maint.mk
@@ -750,12 +750,21 @@
 	$(MAKE) news-check
 	$(MAKE) distcheck
 	$(MAKE) dist XZ_OPT=-9ev
-	$(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
+	$(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
+	$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
+
+# Override this in cfg.mk if you follow different procedures.
+release-prep-hook ?= release-prep
+
+.PHONY: release-prep
+release-prep:
+	case $$RELEASE_TYPE in alpha|beta|stable) ;; \
+	  *) echo "invalid RELEASE_TYPE: $$RELEASE_TYPE" 1>&2; exit 1;; esac
+	$(MAKE) -s announcement > /tmp/announce-$(my_distdir)
 	if test -d $(release_archive_dir); then			\
 	  ln $(rel-files) $(release_archive_dir);		\
 	  chmod a-w $(rel-files);				\
 	fi
-	$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
 	echo $(VERSION) > $(prev_version_file)
 	$(MAKE) update-NEWS-hash
 	perl -pi -e '$$. == 3 and print "$(noteworthy)\n\n\n"' NEWS