[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Move maintainer rules into Makefile.maint
From: |
Scott James Remnant |
Subject: |
[PATCH] Move maintainer rules into Makefile.maint |
Date: |
Thu, 12 Feb 2004 17:50:36 +0000 |
Pretty much does what it says in the subject, moves the Makefile rules
that are specific to us out of the Makefile we distribute and into a
Makefile.maint we don't distribute.
To make a release now (condensed lazy version):
$ vi NEWS ChangeLog
$ ./bootstrap
$ ./configure
$ make -fMakefile.maint cvs-release
Scott
--
Have you ever, ever felt like this?
Had strange things happen? Are you going round the twist?
diff -ruNp libtool-maint-CVS~/ChangeLog libtool-maint-CVS/ChangeLog
--- libtool-maint-CVS~/ChangeLog 2004-02-12 16:47:43.000000000 +0000
+++ libtool-maint-CVS/ChangeLog 2004-02-12 17:48:57.000000000 +0000
@@ -0,0 +1,8 @@
+2004-02-12 Scott James Remnant <address@hidden>
+
+ * Makefile.maint, Makefile: Move rules intended for Libtool
+ maintainers only out of the Makefile we distribute and into one
+ that we only need keep in CVS.
+ * README-alpha: Add -fMakefile.maint to the instructions where
+ needed.
+
diff -ruNp libtool-maint-CVS~/Makefile.am libtool-maint-CVS/Makefile.am
--- libtool-maint-CVS~/Makefile.am 2004-02-12 16:47:43.000000000 +0000
+++ libtool-maint-CVS/Makefile.am 2004-02-12 17:37:41.000000000 +0000
@@ -91,184 +91,3 @@ install-data-local:
install-data-hook:
chmod +x $(DESTDIR)$(pkgdatadir)/config.guess
chmod +x $(DESTDIR)$(pkgdatadir)/config.sub
-
-
-## ---------------------------------------------------------------- ##
-## Everything past here is useful to the maintainer, but probably ##
-## not to anybody else (inspiration from automake/Makefile.am). ##
-## ---------------------------------------------------------------- ##
-
-.PHONY: cvs-release
-cvs-release: version-check prev-tarball cvs-news fetch cvs-commit cvs-dist
deltas
- @tarname="$(PACKAGE)-$(VERSION).tar.gz"; \
- diffname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
- xdeltaname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
- echo " *** Upload $$tarname, $$tarname.sig,";\
- echo " *** $$tarname.directive.asc, $$diffname,"; \
- echo " *** $$diffname.sig, $$diffname.directive.asc,"; \
- echo " *** $$xdeltaname, $$xdeltaname.sig and";\
- echo " *** $$xdeltaname.directive.asc to either";\
- echo " *** /incoming/alpha or /incoming/ftp on ftp-upload.gnu.org.";
-
-.PHONY: version-check
-version-check:
- @case $(VERSION) in \
- *[acegikmoqsuwy]) \
- echo "Version \`$(VERSION)' is not a releasable version, please
read:"; \
- echo " http://www.gnu.org/software/libtool/contribute.html"; \
- exit 1; \
- ;; \
- esac
-
-.PHONY: prev-tarball
-prev-tarball:
-## Make sure we have the previous release tarball in the tree.
- @if test -z "$(LASTRELEASE)"; \
- then echo "LASTRELEASE is not set"; exit 1; fi
- @ofile="$(PACKAGE)-$(LASTRELEASE).tar.gz"; \
- if test -f $$ofile; then :; \
- else echo "Cannot make deltas without $$ofile"; exit 1; fi
-
-# TSDEPS will be defined to TSDEPS_DIST at `make dist' time
-TSDEPS =
-TSDEPS_DIST = ChangeLog m4/libtool.m4
-CVS = cvs # set it to `:' to avoid CVS operations
-
-.PHONY: timestamps update-timestamps
-timestamps: update-timestamps
-update-timestamps:
- @if (cd $(srcdir) && test -d CVS && \
- $(CVS) -n update $(TSDEPS_DIST) | grep '^M'); then \
- echo "Cannot make cvs-dist before commit"; exit 1; else :; fi
-
-
-.PHONY: cvs-news
-cvs-news:
-## Make sure the NEWS file is up-to-date:
- @if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" >/dev/null; \
- then :; \
- else \
- echo "NEWS not updated; not releasing" 1>&2; \
- exit 1; \
- fi
-
-## Program to use to fetch files.
-WGET = wget
-WGETSGO = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~
-
-## Files that we fetch and which we compare against.
-## FIXME should be a lot more here
-FETCHFILES = \
-./INSTALL \
-config/config.guess \
-config/config.sub \
-config/texinfo.tex
-
-## Fetch the latest versions of files we care about.
-.PHONY: fetch
-fetch:
- rm -rf Fetchdir > /dev/null 2>&1
- mkdir Fetchdir
-## If a get fails then that is a problem.
- (cd Fetchdir && \
- $(WGETSGO)/autoconf/autoconf/INSTALL; \
- $(WGETSGO)/config/config/config.guess; \
- $(WGETSGO)/config/config/config.sub; \
- $(WGETSGO)/texinfo/texinfo/doc/texinfo.tex )
-## Don't exit after test because we want to give as many errors as
-## possible.
- @stat=0; for file in $(FETCHFILES); do \
- fetchedfile=Fetchdir/`echo $$file | sed 's,.*/,,g'`; \
- if diff -u $(srcdir)/$$file $$fetchedfile \
- >>Fetchdir/update.patch 2>/dev/null; then :; \
- else \
- stat=1; \
- echo "Updating $(srcdir)/$$file..."; \
- cp $$fetchedfile $(srcdir)/$$file; \
- fi; \
- done; \
- test $$stat = 1 && \
- echo "See Fetchdir/update.patch for a log of the changes."; \
- exit $$stat
-
-
-GPG = gpg # set it to `:' to avoid gpg operations
-
-.PHONY: cvs-commit
-cvs-commit: cvs-news
- cd $(srcdir) && $(SHELL) ./commit
-
-.PHONY: cvs-dist
-cvs-dist: cvs-news timestamps
-## Build the distribution:
- $(MAKE) distcheck
-## Finally, if everything was successful, tag the release
- cd $(srcdir) \
- && $(CVS) -q tag -c `echo "release-$(VERSION)" | sed 's/\./-/g'`
-## Generate signatures and directives for FSF ftp-upload:
- ofile="$(PACKAGE)-$(VERSION).tar.gz"; \
- $(GPG) --detach-sign $$ofile \
- && echo "directory: libtool" > $$ofile.directive \
- && $(GPG) --clearsign $$ofile.directive \
- && rm -f $$ofile.directive
-
-.PHONY: new-tarball
-new-tarball:
-## Make sure we have the new release tarball in the tree.
- @ofile="$(PACKAGE)-$(VERSION).tar.gz"; \
- if test -f $$ofile; then :; \
- else echo "Cannot make deltas without $$ofile"; exit 1; fi
-
-.PHONY: got-xdelta
-got-xdelta:
-## Make sure xdelta exists;
- @if ($(XDELTA) --version 2>&1 | grep version)>/dev/null 2>/dev/null; \
- then :;\
- else \
- echo "Get xdelta from http://sourceforge.net/projects/xdelta."; \
- exit 1; \
- fi
-
-.PHONY: deltas
-deltas: delta-diff delta-xdelta
-
-DIFF = diff
-DIFF_OPTIONS = -ruNp
-
-.PHONY: delta-diff
-delta-diff: prev-tarball new-tarball
-## Unpack the tarballs somewhere to diff them
- rm -rf delta-diff
- mkdir delta-diff
-
- ofile="../$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
- cd delta-diff \
- && tar xzf "../$(PACKAGE)-$(LASTRELEASE).tar.gz" \
- && tar xzf "../$(PACKAGE)-$(VERSION).tar.gz" \
- && $(DIFF) $(DIFF_OPTIONS) \
- $(PACKAGE)-$(LASTRELEASE) $(PACKAGE)-$(VERSION) \
- | GZIP=$(GZIP_ENV) gzip -c > $$ofile \
- && $(GPG) --detach-sign $$ofile \
- && echo "directory: libtool" > $$ofile.directive \
- && $(GPG) --clearsign $$ofile.directive \
- && rm -f $$ofile.directive
-
- rm -rf delta-diff
-
-XDELTA = xdelta
-XDELTA_OPTIONS = --pristine -9
-
-.PHONY: delta-xdelta
-delta-xdelta: prev-tarball new-tarball got-xdelta
-## Generate the delta file (xdelta has wierd exit statuses, so we need to
-## add some shell code to keep make happy), and then generate the signatures
-## for FSF ftp-upload:
- ofile="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
- ( test -z `$(XDELTA) delta $(XDELTA_OPTIONS) \
- $(PACKAGE)-$(LASTRELEASE).tar.gz $(PACKAGE)-$(VERSION).tar.gz \
- $$ofile 2>&1` \
- && : ) \
- && $(GPG) --detach-sign $$ofile \
- && echo "directory: libtool" > $$ofile.directive \
- && $(GPG) --clearsign $$ofile.directive \
- && rm -f $$ofile.directive
diff -ruNp libtool-maint-CVS~/Makefile.maint libtool-maint-CVS/Makefile.maint
--- libtool-maint-CVS~/Makefile.maint 1970-01-01 01:00:00.000000000 +0100
+++ libtool-maint-CVS/Makefile.maint 2004-02-12 17:44:34.000000000 +0000
@@ -0,0 +1,202 @@
+## Makefile.maint -- Makefile rules for libtool maintainers
+##
+## Copyright (C) 2004 Free Software Foundation
+##
+## This program 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 2 of the License, or
+## (at your option) any later version.
+##
+## This program 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; see the file COPYING. If not, write to
+## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+## Boston, MA 02111-1307, USA.
+
+# Need various variables defined by configure, a lot easier to just
+# include the Makefile than figure out a way to put them in here too
+include Makefile
+Makefile:
+ @echo " *** Source directory must be configured to use the "
+ @echo " *** maintainer rules."
+ @exit 1
+
+
+.PHONY: cvs-release
+cvs-release: version-check prev-tarball cvs-news fetch cvs-commit cvs-dist
deltas
+ @tarname="$(PACKAGE)-$(VERSION).tar.gz"; \
+ diffname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
+ xdeltaname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
+ echo " *** Upload $$tarname, $$tarname.sig,";\
+ echo " *** $$tarname.directive.asc, $$diffname,"; \
+ echo " *** $$diffname.sig, $$diffname.directive.asc,"; \
+ echo " *** $$xdeltaname, $$xdeltaname.sig and";\
+ echo " *** $$xdeltaname.directive.asc to either";\
+ echo " *** /incoming/alpha or /incoming/ftp on ftp-upload.gnu.org.";
+
+.PHONY: version-check
+version-check:
+ @case $(VERSION) in \
+ *[acegikmoqsuwy]) \
+ echo "Version \`$(VERSION)' is not a releasable version, please
read:"; \
+ echo " http://www.gnu.org/software/libtool/contribute.html"; \
+ exit 1; \
+ ;; \
+ esac
+
+.PHONY: prev-tarball
+prev-tarball:
+## Make sure we have the previous release tarball in the tree.
+ @if test -z "$(LASTRELEASE)"; \
+ then echo "LASTRELEASE is not set"; exit 1; fi
+ @ofile="$(PACKAGE)-$(LASTRELEASE).tar.gz"; \
+ if test -f $$ofile; then :; \
+ else echo "Cannot make deltas without $$ofile"; exit 1; fi
+
+# TSDEPS will be defined to TSDEPS_DIST at `make dist' time
+TSDEPS =
+TSDEPS_DIST = ChangeLog m4/libtool.m4
+CVS = cvs # set it to `:' to avoid CVS operations
+
+.PHONY: timestamps update-timestamps
+timestamps: update-timestamps
+update-timestamps:
+ @if (cd $(srcdir) && test -d CVS && \
+ $(CVS) -n update $(TSDEPS_DIST) | grep '^M'); then \
+ echo "Cannot make cvs-dist before commit"; exit 1; else :; fi
+
+
+.PHONY: cvs-news
+cvs-news:
+## Make sure the NEWS file is up-to-date:
+ @if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" >/dev/null; \
+ then :; \
+ else \
+ echo "NEWS not updated; not releasing" 1>&2; \
+ exit 1; \
+ fi
+
+## Program to use to fetch files.
+WGET = wget
+WGETSGO = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~
+
+## Files that we fetch and which we compare against.
+## FIXME should be a lot more here
+FETCHFILES = \
+./INSTALL \
+config/config.guess \
+config/config.sub \
+config/texinfo.tex
+
+## Fetch the latest versions of files we care about.
+.PHONY: fetch
+fetch:
+ rm -rf Fetchdir > /dev/null 2>&1
+ mkdir Fetchdir
+## If a get fails then that is a problem.
+ (cd Fetchdir && \
+ $(WGETSGO)/autoconf/autoconf/INSTALL; \
+ $(WGETSGO)/config/config/config.guess; \
+ $(WGETSGO)/config/config/config.sub; \
+ $(WGETSGO)/texinfo/texinfo/doc/texinfo.tex )
+## Don't exit after test because we want to give as many errors as
+## possible.
+ @stat=0; for file in $(FETCHFILES); do \
+ fetchedfile=Fetchdir/`echo $$file | sed 's,.*/,,g'`; \
+ if diff -u $(srcdir)/$$file $$fetchedfile \
+ >>Fetchdir/update.patch 2>/dev/null; then :; \
+ else \
+ stat=1; \
+ echo "Updating $(srcdir)/$$file..."; \
+ cp $$fetchedfile $(srcdir)/$$file; \
+ fi; \
+ done; \
+ test $$stat = 1 && \
+ echo "See Fetchdir/update.patch for a log of the changes."; \
+ exit $$stat
+
+
+GPG = gpg # set it to `:' to avoid gpg operations
+
+.PHONY: cvs-commit
+cvs-commit: cvs-news
+ cd $(srcdir) && $(SHELL) ./commit
+
+.PHONY: cvs-dist
+cvs-dist: cvs-news timestamps
+## Build the distribution:
+ $(MAKE) distcheck
+## Finally, if everything was successful, tag the release
+ cd $(srcdir) \
+ && $(CVS) -q tag -c `echo "release-$(VERSION)" | sed 's/\./-/g'`
+## Generate signatures and directives for FSF ftp-upload:
+ ofile="$(PACKAGE)-$(VERSION).tar.gz"; \
+ $(GPG) --detach-sign $$ofile \
+ && echo "directory: libtool" > $$ofile.directive \
+ && $(GPG) --clearsign $$ofile.directive \
+ && rm -f $$ofile.directive
+
+.PHONY: new-tarball
+new-tarball:
+## Make sure we have the new release tarball in the tree.
+ @ofile="$(PACKAGE)-$(VERSION).tar.gz"; \
+ if test -f $$ofile; then :; \
+ else echo "Cannot make deltas without $$ofile"; exit 1; fi
+
+.PHONY: got-xdelta
+got-xdelta:
+## Make sure xdelta exists;
+ @if ($(XDELTA) --version 2>&1 | grep version)>/dev/null 2>/dev/null; \
+ then :;\
+ else \
+ echo "Get xdelta from http://sourceforge.net/projects/xdelta."; \
+ exit 1; \
+ fi
+
+.PHONY: deltas
+deltas: delta-diff delta-xdelta
+
+DIFF = diff
+DIFF_OPTIONS = -ruNp
+
+.PHONY: delta-diff
+delta-diff: prev-tarball new-tarball
+## Unpack the tarballs somewhere to diff them
+ rm -rf delta-diff
+ mkdir delta-diff
+
+ ofile="../$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
+ cd delta-diff \
+ && tar xzf "../$(PACKAGE)-$(LASTRELEASE).tar.gz" \
+ && tar xzf "../$(PACKAGE)-$(VERSION).tar.gz" \
+ && $(DIFF) $(DIFF_OPTIONS) \
+ $(PACKAGE)-$(LASTRELEASE) $(PACKAGE)-$(VERSION) \
+ | GZIP=$(GZIP_ENV) gzip -c > $$ofile \
+ && $(GPG) --detach-sign $$ofile \
+ && echo "directory: libtool" > $$ofile.directive \
+ && $(GPG) --clearsign $$ofile.directive \
+ && rm -f $$ofile.directive
+
+ rm -rf delta-diff
+
+XDELTA = xdelta
+XDELTA_OPTIONS = --pristine -9
+
+.PHONY: delta-xdelta
+delta-xdelta: prev-tarball new-tarball got-xdelta
+## Generate the delta file (xdelta has wierd exit statuses, so we need to
+## add some shell code to keep make happy), and then generate the signatures
+## for FSF ftp-upload:
+ ofile="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
+ ( test -z `$(XDELTA) delta $(XDELTA_OPTIONS) \
+ $(PACKAGE)-$(LASTRELEASE).tar.gz $(PACKAGE)-$(VERSION).tar.gz \
+ $$ofile 2>&1` \
+ && : ) \
+ && $(GPG) --detach-sign $$ofile \
+ && echo "directory: libtool" > $$ofile.directive \
+ && $(GPG) --clearsign $$ofile.directive \
+ && rm -f $$ofile.directive
diff -ruNp libtool-maint-CVS~/README-alpha libtool-maint-CVS/README-alpha
--- libtool-maint-CVS~/README-alpha 2004-01-27 12:33:45.000000000 +0000
+++ libtool-maint-CVS/README-alpha 2004-02-12 17:48:30.000000000 +0000
@@ -92,22 +92,22 @@ using (by typing `libtool --version').
* Run ./configure and then make.
-* Run `make fetch', which will fetch new versions of the files that are
- maintained outside of libtool.
+* Run `make -fMakefile.maint fetch', which will fetch new versions of the
+ files that are maintained outside of libtool.
* Run ./commit.
-* Run `make cvs-dist' which will build a release tarball (with `make
- distcheck'), tag the tree with release-$(VERSION) and generate the
- gpg signature files.
+* Run `make -fMakefile.maint cvs-dist' which will build a release tarball
+ (with `make distcheck'), tag the tree with release-$(VERSION) and generate
+ the gpg signature files.
* Make sure you have a copy of xdelta installed, and a copy of the previous
release tarball in the build directory.
-* Run 'make deltas' (pass LASTRELEASE=min.maj[.mic[alpha]] if needed) to
- create both diff and xdelta files between the previous release tarball
- and the new with detached gpg signature files and clear signed directive
- files.
+* Run 'make -fMakefile.maint deltas' (pass LASTRELEASE=min.maj[.mic[alpha]]
+ if needed) to create both diff and xdelta files between the previous
+ release tarball and the new with detached gpg signature files and clear
+ signed directive files.
* Upload release tarball, diff file and xdelta file, plus their associated
detached gpg signature files and clear signed directive files to
signature.asc
Description: This is a digitally signed message part
- [PATCH] Move maintainer rules into Makefile.maint,
Scott James Remnant <=