aboutsummaryrefslogtreecommitdiffhomepage
path: root/Makefile.devel
diff options
context:
space:
mode:
authorGravatar David Aspinall <da@inf.ed.ac.uk>1998-10-27 12:32:29 +0000
committerGravatar David Aspinall <da@inf.ed.ac.uk>1998-10-27 12:32:29 +0000
commit675c9b609046fb3f40e96ee68decc2d178375216 (patch)
tree68a87c2cf666c7b4c12a7eacad676415d4dcf2cc /Makefile.devel
parent76cd0031a87c4138be51a0bb90bf23b9e4831e10 (diff)
Fixup repository mess
Diffstat (limited to 'Makefile.devel')
-rw-r--r--Makefile.devel629
1 files changed, 629 insertions, 0 deletions
diff --git a/Makefile.devel b/Makefile.devel
new file mode 100644
index 00000000..90c09ec7
--- /dev/null
+++ b/Makefile.devel
@@ -0,0 +1,629 @@
+##
+## Makefile for Proof General development.
+##
+## Author: David Aspinall <da@dcs.ed.ac.uk>
+##
+## Maintainer: Proof General maintainer <proofgen@dcs.ed.ac.uk>
+##
+## Developer use only, not part of distribution.
+##
+## make clean - remove intermediate files
+## make distclean - remove all generated files
+##
+## make ChangeLog - make ChangeLog from CVS sources (uses emacs)
+## make tag - tag the CVS sources with CVS_RELEASENAME
+## make untag - remove tag CVS_RELEASENAME from the sources
+## make dist - make a distribution from sources with above tag
+## make rpm - make RPM packages based on etc/ProofGeneral.spec
+##
+## make release - make tag, dist, and install it in RELEASEDIR.
+## make releaseall - make release and rpmrelease.
+##
+## make distinstall - install distribution build by 'make dist'
+## into DISTINSTALLDIR.
+##
+## make releaseclean - clean up after 'make dist' 'make rpmrelease'.
+##
+## $Id$
+##
+###########################################################################
+
+
+# TODO: (da) Add target for byte compilation.
+
+# Release tags.
+# NB: 1. CVS tags can't have points in them.
+# 2. RPM names can't have hyphens in them
+RELEASE_TAG=2.0pre$(shell date "+%y%m%d")
+CVS_RELEASE_TAG=2-0pre$(shell date "+%y%m%d")
+NAME = ProofGeneral
+# Name of tar file and RPM file.
+RELEASENAME = ProofGeneral-$(RELEASE_TAG)
+DEVELRELEASENAME = ProofGeneral-$(RELEASE_TAG)-devel
+CVS_RELEASENAME = Release-$(CVS_RELEASE_TAG)
+
+# Where to release (i.e. copy) a new distribution to
+RELEASEDIR = /home/proofgen/www/
+
+CVSNAME = ProofGeneral
+#CVSROOT = /home/proofgen/src
+
+# Remote commands to use CVS in server mode and install files.
+# With these settings the build can be done remotely.
+# MACHINE=hope
+# CVSROOT = :ext:$(USER)@$(MACHINE).dcs.ed.ac.uk:/home/proofgen/src
+# CVS_RSH=ssh
+CVSROOT = /home/proofgen/src
+
+
+# Emacs
+EMACS=xemacs
+
+# GNU version of tar, please
+TAR=tar
+
+# For recursive make
+DEVELMAKE=make -f Makefile.devel
+
+# Files not to include the distribution area or tarball
+NONDISTFILES=todo html etc Makefile.devel doc/notes.txt images/*.xcf images/notes.txt images/gimp images/Makefile
+
+# Files not to include in the distribution tarball
+IGNOREDFILES=doc/ProofGeneral.dvi Makefile.devel
+
+# Temporary directory to to build a distribution in
+DISTBUILDIR = /tmp/ProofGeneralRelease
+
+# Temporary RPM topdir for building packages as non-root user.
+RPMTOPDIR=/tmp/ProofGeneral-rpm
+RPMRC=$(RPMTOPDIR)/rpmrc
+RPM=rpm --rcfile $(RPMRC)
+
+RELEASENAMETAR = $(RELEASENAME).tar
+RELEASENAMETARGZ = $(RELEASENAMETAR).gz
+
+DEVELRELEASENAMETAR = $(DEVELRELEASENAME).tar
+DEVELRELEASENAMETARGZ = $(DEVELRELEASENAMETAR).gz
+
+
+# Files not kept under cvs to clean away.
+FILES_NONCVS = ChangeLog
+
+# Where to install a distribution
+# DISTINSTALLDIR=/usr/local/share/elisp/proofgeneral
+# value for dcs.ed.ac.uk:
+DISTINSTALLDIR=/export/local/share/elisp
+
+
+FORCE:
+
+# Targets to pre-compile for distribution
+# Slightly dodgy to include elisp compile here, because
+# it can be incompatible across emacs versions.
+alldist: alldocs
+
+
+
+############################################################
+#
+# Re-Build ChangeLog. CVSROOT must be set correctly.
+# Correct dependency would be to check repository for changes!
+#
+ChangeLog: FORCE
+ rm -f ChangeLog
+ $(EMACS) -batch -q -f vc-update-change-log -f save-buffer
+
+
+
+############################################################
+#
+# Clean up intermediate files
+#
+clean:
+ (cd doc; $(MAKE) clean)
+ (cd images; $(MAKE) clean)
+
+
+############################################################
+#
+# Clean up all generated files.
+#
+distclean: clean
+ (cd doc; $(MAKE) distclean)
+ (cd images; $(MAKE) distclean)
+
+############################################################
+#
+# Clean up all non-cvs files.
+#
+cvsclean: clean
+ rm -rf $(FILES_NONCVS)
+ (cd doc; $(MAKE) distclean)
+ (cd images; $(MAKE) cvsclean)
+
+############################################################
+#
+# Documentation
+#
+doc: FORCE
+ (cd doc; $(MAKE) doc)
+
+alldocs: FORCE
+ (cd doc; $(MAKE) all)
+
+############################################################
+#
+# Images
+#
+images: FORCE
+ (cd images; $(MAKE) images)
+
+
+
+
+############################################################
+##
+## tag: tag the CVS sources of working directory with RELEASE_TAG,
+## and edit version stamp in proof-site.el
+## (Developers only)
+##
+tag:
+ @echo "*************************************************"
+ @echo " Tagging sources... (fails if CVS source dirty)"
+ @echo "*************************************************"
+ if [ -n "`cvs -n -q update`" ]; then exit 1; fi
+ (cd generic; mv proof-site.el proof-site.el.old; sed -e 's/defconst proof-version \".*\"/defconst proof-version \"Proof General, Version $(RELEASE_TAG) released by da,tms. Email proofgen@dcs.ed.ac.uk.\"/g' proof-site.el.old > proof-site.el; rm proof-site.el.old)
+# FIXME: the sed command below relies on previous value of RELEASE_TAG.
+# (that it begins with 2.0pre)
+ (cd html; mv download.html download.html.old; sed -e 's|ProofGeneral-2\.0pre......|ProofGeneral-$(RELEASE_TAG)|g' download.html.old > download.html; rm download.html.old)
+ (cd etc; mv ProofGeneral.spec ProofGeneral.spec.old; sed -e 's/Version:.*$$/Version: $(RELEASE_TAG)/g' ProofGeneral.spec.old > ProofGeneral.spec; rm ProofGeneral.spec.old)
+# This hack to SOURCE: name is only needed because we have an obsolete version
+# of rpm installed on standard machines at dcs.ed, and we have to build with
+# that version.
+ (cd etc; mv ProofGeneral.spec ProofGeneral.spec.old; sed -e 's/ProofGeneral-.*.tar.gz/ProofGeneral-$(RELEASE_TAG).tar.gz/g' ProofGeneral.spec.old > ProofGeneral.spec; rm ProofGeneral.spec.old)
+ cvs commit -m"Set version tag for new release." generic/proof-site.el html/download.html etc/ProofGeneral.spec
+ cvs tag "$(CVS_RELEASENAME)"
+
+############################################################
+##
+## untag: Remove the CVS_RELEASENAME tag from the CVS sources.
+##
+
+untag:
+ cvs tag -d "$(CVS_RELEASENAME)"
+
+
+############################################################
+##
+## dist: make a distribution in DISTBUILDIR from CVS sources
+## Builds for user-distribution, from sources tagged
+## with CVS_RELEASE_TAG.
+## Moves html files to parent directory, removes
+## non-distributed files.
+## (Developer only)
+##
+dist:
+ @echo "*************************************************"
+ @echo " Cleaning dist build directory..."
+ @echo "*************************************************"
+ rm -rf $(DISTBUILDIR)
+ mkdir -p $(DISTBUILDIR)
+ @echo "*************************************************"
+ @echo " Running cvs export .."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR); cvs export -kv -r "$(CVS_RELEASENAME)" -d $(RELEASENAME) $(CVSNAME))
+ @echo "*************************************************"
+ @echo " Running 'make alldist' for new release .."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR)/$(RELEASENAME); $(DEVELMAKE) alldist)
+ (cd $(DISTBUILDIR)/$(RELEASENAME); $(DEVELMAKE) clean)
+ @echo "*************************************************"
+ @echo " Copying doc files .."
+ @echo "*************************************************"
+ (cp -pr $(DISTBUILDIR)/$(RELEASENAME)/doc $(DISTBUILDIR))
+ @echo "*************************************************"
+ @echo " Moving html files .."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR)/$(RELEASENAME)/html; mv * ../..)
+ @echo "*************************************************"
+ @echo " Cleaning non-distributed files .."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR)/$(RELEASENAME); rm -rf $(NONDISTFILES))
+ @echo "*************************************************"
+ @echo " Making compressed tar file..."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR); for f in $(IGNOREDFILES); do echo $$f >> ignoredfiles; done)
+ $(TAR) -cvhf $(DISTBUILDIR)/$(RELEASENAMETAR) -C $(DISTBUILDIR) $(RELEASENAME) -X $(DISTBUILDIR)/ignoredfiles
+ gzip -9 $(DISTBUILDIR)/$(RELEASENAMETAR)
+ @echo "*************************************************"
+ @echo " Finished making dist."
+ @echo "*************************************************"
+
+############################################################
+##
+## develdist: make a distribution for developers from
+## raw CVS sources.
+##
+develdist:
+ @echo "*************************************************"
+ @echo " Making developer distribution..."
+ @echo "*************************************************"
+ mkdir -p $(DISTBUILDIR)
+ (cd $(DISTBUILDIR); cvs export -kv -r "$(CVS_RELEASENAME)" -d $(RELEASENAME)-devel $(CVSNAME))
+ $(TAR) -cvhf $(DISTBUILDIR)/$(DEVELRELEASENAMETAR) -C $(DISTBUILDIR) $(DEVELRELEASENAME)
+ gzip -9 $(DISTBUILDIR)/$(DEVELRELEASENAMETAR)
+
+
+############################################################
+##
+## release:
+## tag the CVS sources, and make a distribution.
+## Then install the distribution in RELEASEDIR.
+## WARNING: RELEASEDIR is not cleaned, but files there
+## with same names will be overwritten.
+## Moreover, a link ProofGeneral -> ProofGeneral-<version>
+## is made.
+##
+release: distclean tag dist develdist
+ mkdir -p $(RELEASEDIR)
+ cp -pfr $(DISTBUILDIR)/* $(RELEASEDIR)
+ (cd $(RELEASEDIR); rm -f $(NAME); ln -s $(RELEASENAME) $(NAME))
+ @echo "*************************************************"
+ @echo " Finished installing dist."
+ @echo "*************************************************"
+
+
+############################################################
+##
+## rpm:
+## Build an RPM package from the recently made distribution
+## $(DISTBUILDIR)/$(RELEASENAMETAR).gz, using the spec and
+## patch file in ./etc
+##
+##
+rpm:
+ rm -rf $(RPMTOPDIR)
+ mkdir -p $(RPMTOPDIR) $(RPMTOPDIR)/BUILD $(RPMTOPDIR)/SOURCES $(RPMTOPDIR)/SRPMS $(RPMTOPDIR)/RPMS $(RPMTOPDIR)/RPMS/noarch
+ echo "topdir: $(RPMTOPDIR)" > $(RPMRC)
+ cp -p etc/ProofGeneral.patch $(RPMTOPDIR)/SOURCES
+ cp -p $(DISTBUILDIR)/$(RELEASENAMETARGZ) $(RPMTOPDIR)/SOURCES
+ $(RPM) -ba etc/ProofGeneral.spec
+
+
+############################################################
+##
+## rpmrelease:
+## Build and install RPM packages into RELEASEDIR.
+##
+rpmrelease: rpm
+ cp -pf $(RPMTOPDIR)/SRPMS/* $(RPMTOPDIR)/RPMS/noarch/* $(RELEASEDIR)
+
+############################################################
+##
+## releaseclean:
+## Cleanup after building release.
+##
+releaseclean:
+ rm -rf $(DISTBUILDIR) $(RPMTOPDIR)
+
+############################################################
+##
+## releaseall:
+## Do everything!
+##
+releaseall: release rpmrelease releaseclean
+
+
+############################################################
+#
+# distinstall:
+# Install distribution from $(DISTBUILDIR) into DISTINSTALLDIR
+# Clean out DISTINSTALLDIR first.
+# NB! Simple install, no attempt to put info files, etc, in
+# special places.
+#
+distinstall:
+ rm -rf $(DISTINSTALLDIR)/$(NAME)
+ mkdir -p $(DISTINSTALLDIR)
+ (cd $(DISTINSTALLDIR); \
+ $(TAR) -xpzf $(DISTBUILDIR)/$(RELEASENAMETARGZ); \
+ mv $(RELEASENAME) $(NAME))
+=======
+# TODO: (da) Add target for byte compilation.
+
+# Release tags.
+# NB: 1. CVS tags can't have points in them.
+# 2. RPM names can't have hyphens in them
+RELEASE_TAG=2.0pre$(shell date "+%y%m%d")
+CVS_RELEASE_TAG=2-0pre$(shell date "+%y%m%d")
+NAME = ProofGeneral
+# Name of tar file and RPM file.
+RELEASENAME = ProofGeneral-$(RELEASE_TAG)
+DEVELRELEASENAME = ProofGeneral-$(RELEASE_TAG)-devel
+CVS_RELEASENAME = Release-$(CVS_RELEASE_TAG)
+
+# Where to release (i.e. copy) a new distribution to
+RELEASEDIR = /home/proofgen/www/
+
+CVSNAME = ProofGeneral
+#CVSROOT = /home/proofgen/src
+
+# Remote commands to use CVS in server mode and install files.
+# With these settings the build can be done remotely.
+# MACHINE=hope
+# CVSROOT = :ext:$(USER)@$(MACHINE).dcs.ed.ac.uk:/home/proofgen/src
+# CVS_RSH=ssh
+CVSROOT = /home/proofgen/src
+
+
+# Byte compilation command
+BYTECOMP = $(EMACS) -batch -q -f batch-byte-compile
+EMACS=xemacs
+
+# GNU version of tar, please
+TAR=tar
+
+# Files not to include the distribution area or tarball
+NONDISTFILES=todo html etc Makefile doc/Makefile doc/notes.txt images/*.xcf images/notes.txt images/gimp images/Makefile
+
+# Files not to include in the distribution tarball
+IGNOREDFILES=doc/ProofGeneral.dvi
+
+# Temporary directory to to build a distribution in
+DISTBUILDIR = /tmp/ProofGeneralRelease
+
+# Temporary RPM topdir for building packages as non-root user.
+RPMTOPDIR=/tmp/ProofGeneral-rpm
+RPMRC=$(RPMTOPDIR)/rpmrc
+RPM=rpm --rcfile $(RPMRC)
+
+RELEASENAMETAR = $(RELEASENAME).tar
+RELEASENAMETARGZ = $(RELEASENAMETAR).gz
+
+DEVELRELEASENAMETAR = $(DEVELRELEASENAME).tar
+DEVELRELEASENAMETARGZ = $(DEVELRELEASENAMETAR).gz
+
+
+# Files not kept under cvs to clean away.
+FILES_NONCVS = ChangeLog
+
+# Where to install a distribution
+# DISTINSTALLDIR=/usr/local/share/elisp/proofgeneral
+# value for dcs.ed.ac.uk:
+DISTINSTALLDIR=/export/local/share/elisp
+
+
+FORCE:
+
+# Targets to pre-compile for distribution
+# Slightly dodgy to include elisp compile here, because
+# it can be incompatible across emacs versions.
+alldist: alldocs
+
+
+
+############################################################
+#
+# Re-Build ChangeLog. CVSROOT must be set correctly.
+# Correct dependency would be to check repository for changes!
+#
+ChangeLog: FORCE
+ rm -f ChangeLog
+ $(EMACS) -batch -q -f vc-update-change-log -f save-buffer
+
+
+
+############################################################
+#
+# Clean up intermediate files
+#
+clean:
+ (cd doc; $(MAKE) clean)
+ (cd images; $(MAKE) clean)
+
+
+############################################################
+#
+# Clean up all generated files.
+#
+distclean: clean
+ (cd doc; $(MAKE) distclean)
+ (cd images; $(MAKE) distclean)
+
+############################################################
+#
+# Clean up all non-cvs files.
+#
+cvsclean: clean
+ rm -rf $(FILES_NONCVS)
+ (cd doc; $(MAKE) distclean)
+ (cd images; $(MAKE) cvsclean)
+
+############################################################
+#
+# Documentation
+#
+doc: FORCE
+ (cd doc; $(MAKE) doc)
+
+alldocs: FORCE
+ (cd doc; $(MAKE) all)
+
+############################################################
+#
+# Images
+#
+images: FORCE
+ (cd images; $(MAKE) images)
+
+
+
+
+############################################################
+##
+## tag: tag the CVS sources of working directory with RELEASE_TAG,
+## and edit version stamp in proof-site.el
+## (Developers only)
+##
+tag:
+ @echo "*************************************************"
+ @echo " Tagging sources... (fails if CVS source dirty)"
+ @echo "*************************************************"
+ if [ -n "`cvs -n -q update`" ]; then exit 1; fi
+ (cd generic; mv proof-site.el proof-site.el.old; sed -e 's/defconst proof-version \".*\"/defconst proof-version \"Proof General, Version $(RELEASE_TAG) released by da,tms. Email proofgen@dcs.ed.ac.uk.\"/g' proof-site.el.old > proof-site.el; rm proof-site.el.old)
+# FIXME: the sed command below relies on previous value of RELEASE_TAG.
+# (that it begins with 2.0pre)
+ (cd html; mv download.html download.html.old; sed -e 's|ProofGeneral-2\.0pre......|ProofGeneral-$(RELEASE_TAG)|g' download.html.old > download.html; rm download.html.old)
+ (cd etc; mv ProofGeneral.spec ProofGeneral.spec.old; sed -e 's/Version:.*$$/Version: $(RELEASE_TAG)/g' ProofGeneral.spec.old > ProofGeneral.spec; rm ProofGeneral.spec.old)
+# This hack to SOURCE: name is only needed because we have an obsolete version
+# of rpm installed on standard machines at dcs.ed, and we have to build with
+# that version.
+ (cd etc; mv ProofGeneral.spec ProofGeneral.spec.old; sed -e 's/ProofGeneral-.*.tar.gz/ProofGeneral-$(RELEASE_TAG).tar.gz/g' ProofGeneral.spec.old > ProofGeneral.spec; rm ProofGeneral.spec.old)
+ cvs commit -m"Set version tag for new release." generic/proof-site.el html/download.html etc/ProofGeneral.spec
+ cvs tag "$(CVS_RELEASENAME)"
+
+############################################################
+##
+## untag: Remove the CVS_RELEASENAME tag from the CVS sources.
+##
+
+untag:
+ cvs tag -d "$(CVS_RELEASENAME)"
+
+
+############################################################
+##
+## dist: make a distribution in DISTBUILDIR from CVS sources
+## Builds for user-distribution, from sources tagged
+## with CVS_RELEASE_TAG.
+## Moves html files to parent directory, removes
+## non-distributed files.
+## (Developer only)
+##
+dist:
+ @echo "*************************************************"
+ @echo " Cleaning dist build directory..."
+ @echo "*************************************************"
+ rm -rf $(DISTBUILDIR)
+ mkdir -p $(DISTBUILDIR)
+ @echo "*************************************************"
+ @echo " Running cvs export .."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR); cvs export -kv -r "$(CVS_RELEASENAME)" -d $(RELEASENAME) $(CVSNAME))
+ @echo "*************************************************"
+ @echo " Running 'make alldist' for new release .."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR)/$(RELEASENAME); make alldist)
+ (cd $(DISTBUILDIR)/$(RELEASENAME); make clean)
+ @echo "*************************************************"
+ @echo " Copying doc files .."
+ @echo "*************************************************"
+ (cp -pr $(DISTBUILDIR)/$(RELEASENAME)/doc $(DISTBUILDIR))
+ @echo "*************************************************"
+ @echo " Moving html files .."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR)/$(RELEASENAME)/html; mv * ../..)
+ @echo "*************************************************"
+ @echo " Cleaning non-distributed files .."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR)/$(RELEASENAME); rm -rf $(NONDISTFILES))
+ @echo "*************************************************"
+ @echo " Making compressed tar file..."
+ @echo "*************************************************"
+ (cd $(DISTBUILDIR); for f in $(IGNOREDFILES); do echo $$f >> ignoredfiles; done)
+ $(TAR) -cvhf $(DISTBUILDIR)/$(RELEASENAMETAR) -C $(DISTBUILDIR) $(RELEASENAME) -X $(DISTBUILDIR)/ignoredfiles
+ gzip -9 $(DISTBUILDIR)/$(RELEASENAMETAR)
+ @echo "*************************************************"
+ @echo " Finished making dist."
+ @echo "*************************************************"
+
+############################################################
+##
+## develdist: make a distribution for developers from
+## raw CVS sources.
+##
+develdist:
+ @echo "*************************************************"
+ @echo " Making developer distribution..."
+ @echo "*************************************************"
+ mkdir -p $(DISTBUILDIR)
+ (cd $(DISTBUILDIR); cvs export -kv -r "$(CVS_RELEASENAME)" -d $(RELEASENAME)-devel $(CVSNAME))
+ $(TAR) -cvhf $(DISTBUILDIR)/$(DEVELRELEASENAMETAR) -C $(DISTBUILDIR) $(DEVELRELEASENAME)
+ gzip -9 $(DISTBUILDIR)/$(DEVELRELEASENAMETAR)
+
+
+############################################################
+##
+## release:
+## tag the CVS sources, and make a distribution.
+## Then install the distribution in RELEASEDIR.
+## WARNING: RELEASEDIR is not cleaned, but files there
+## with same names will be overwritten.
+## Moreover, a link ProofGeneral -> ProofGeneral-<version>
+## is made.
+##
+release: distclean tag dist develdist
+ mkdir -p $(RELEASEDIR)
+ cp -pfr $(DISTBUILDIR)/* $(RELEASEDIR)
+ (cd $(RELEASEDIR); rm -f $(NAME); ln -s $(RELEASENAME) $(NAME))
+ @echo "*************************************************"
+ @echo " Finished installing dist."
+ @echo "*************************************************"
+
+
+############################################################
+##
+## rpm:
+## Build an RPM package from the recently made distribution
+## $(DISTBUILDIR)/$(RELEASENAMETAR).gz, using the spec and
+## patch file in ./etc
+##
+##
+rpm:
+ rm -rf $(RPMTOPDIR)
+ mkdir -p $(RPMTOPDIR) $(RPMTOPDIR)/BUILD $(RPMTOPDIR)/SOURCES $(RPMTOPDIR)/SRPMS $(RPMTOPDIR)/RPMS $(RPMTOPDIR)/RPMS/noarch
+ echo "topdir: $(RPMTOPDIR)" > $(RPMRC)
+ cp -p etc/ProofGeneral.patch $(RPMTOPDIR)/SOURCES
+ cp -p $(DISTBUILDIR)/$(RELEASENAMETARGZ) $(RPMTOPDIR)/SOURCES
+ $(RPM) -ba etc/ProofGeneral.spec
+
+
+############################################################
+##
+## rpmrelease:
+## Build and install RPM packages into RELEASEDIR.
+##
+rpmrelease: rpm
+ cp -pf $(RPMTOPDIR)/SRPMS/* $(RPMTOPDIR)/RPMS/noarch/* $(RELEASEDIR)
+
+############################################################
+##
+## releaseclean:
+## Cleanup after building release.
+##
+releaseclean:
+ rm -rf $(DISTBUILDIR) $(RPMTOPDIR)
+
+############################################################
+##
+## releaseall:
+## Do everything!
+##
+releaseall: release rpmrelease releaseclean
+
+
+############################################################
+#
+# distinstall:
+# Install distribution from $(DISTBUILDIR) into DISTINSTALLDIR
+# Clean out DISTINSTALLDIR first.
+# NB! Simple install, no attempt to put info files, etc, in
+# special places.
+#
+distinstall:
+ rm -rf $(DISTINSTALLDIR)/$(NAME)
+ mkdir -p $(DISTINSTALLDIR)
+ (cd $(DISTINSTALLDIR); \
+ $(TAR) -xpzf $(DISTBUILDIR)/$(RELEASENAMETARGZ); \
+ mv $(RELEASENAME) $(NAME))
+