mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-12 14:06:37 +08:00
* 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.
This commit is contained in:
parent
04539d396a
commit
20edd8bb0d
@ -1,3 +1,11 @@
|
||||
2004-02-12 Scott James Remnant <scott@netsplit.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2004-02-12 Albert Chin-A-Young <china@thewrittenword.com>
|
||||
Scott James Remnant <scott@netsplit.com>
|
||||
|
||||
|
181
Makefile.am
181
Makefile.am
@ -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
|
||||
|
202
Makefile.maint
Normal file
202
Makefile.maint
Normal file
@ -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
|
18
README-alpha
18
README-alpha
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user