m4-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Changes to m4/Makefile.maint [branch-1_4]


From: Gary V . Vaughan
Subject: Changes to m4/Makefile.maint [branch-1_4]
Date: Thu, 31 Mar 2005 06:50:39 -0500

Index: m4/Makefile.maint
diff -u /dev/null m4/Makefile.maint:1.1.2.1
--- /dev/null   Thu Mar 31 11:50:39 2005
+++ m4/Makefile.maint   Thu Mar 31 11:50:38 2005
@@ -0,0 +1,215 @@
+## Makefile.maint -- Makefile rules for libtool maintainers -*-Makefile-*-
+##
+## Copyright (C) 2004, 2005 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 " *** Run maintainer rules from the build tree, with"
+       @echo " *** \`make -f../Makefile.maint' for example, where"
+       @echo " *** \`../' is the relative path back to the directory"
+       @echo " *** that contains the \`Makefile.maint'.  Alternatively,"
+       @echo " *** run \`./configure' in the source tree for an in"
+       @echo " *** tree build."
+       @exit 1
+
+TEXI2HTML = texi2html
+
+.PHONY: cvs-release
+cvs-release: version-check prev-tarball cvs-news fetch cvs-commit cvs-dist 
deltas web-manual
+       @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."
+       echo " *** You might need to upload manual.html to webcvs/libtool."
+
+.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 \
+./install-sh \
+doc/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)/automake/automake/lib/install-sh; \
+       $(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 `echo "release-$(VERSION)" | sed 's/\./-/g'`
+## Generate signatures and directives for FSF ftp-upload:
+       for suffix in .gz .bz2; do \
+         ofile="$(PACKAGE)-$(VERSION).tar.$$suffix"; \
+         $(GPG) --detach-sign $$ofile \
+         && echo "directory: $(PACKAGE)" > $$ofile.directive \
+         && $(GPG) --clearsign $$ofile.directive \
+         && rm -f $$ofile.directive; \
+       done
+
+.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: $(PACKAGE)" > $$ofile.directive \
+       && $(GPG) --clearsign $$ofile.directive \
+       && rm -f $$ofile.directive
+
+       rm -rf delta-diff
+
+XDELTA = xdelta
+XDELTA_OPTIONS = -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: $(PACKAGE)" > $$ofile.directive \
+       && $(GPG) --clearsign $$ofile.directive \
+       && rm -f $$ofile.directive
+
+.PHONY: web-manual
+web-manual:
+       @$(LN_S) $(top_srcdir)/doc/libtool.texi doc/manual.texi
+       $(TEXI2HTML) -I doc -monolithic -number -verbose doc/manual.texi
+       @mv doc/manual.html manual.html
+       @rm -f doc/manual.texi




reply via email to

[Prev in Thread] Current Thread [Next in Thread]