diff options
| author | Peter Eisentraut <peter_e@gmx.net> | 2000-07-19 16:30:27 +0000 |
|---|---|---|
| committer | Peter Eisentraut <peter_e@gmx.net> | 2000-07-19 16:30:27 +0000 |
| commit | 32163099d7c43a0244f463eb4e525c711e6e97a3 (patch) | |
| tree | e7a940778fa8adb459b0c35912a0990a214d0759 /GNUmakefile.in | |
| parent | 79e6648649ad4bf6ef7112e9d97e35270397fb01 (diff) | |
| download | postgresql-32163099d7c43a0244f463eb4e525c711e6e97a3.tar.gz | |
Add distprep target to take some of the job of the release_prep script.
The latter updated accordingly. Also add `dist' and `distcheck' targets
to play with, but caveat packager.
Updated backend/bootstrap and backend/parser makefile to make them
marginally builddir aware and fix the usual set of things.
Add rule to automatically remake config.h dependent on config.h.in and
config.status. (Adopted from Autoconf manual and about every other
package.) On a good day we should now have a complete and accurate set
of dependencies throughout everything.
Diffstat (limited to 'GNUmakefile.in')
| -rw-r--r-- | GNUmakefile.in | 74 |
1 files changed, 72 insertions, 2 deletions
diff --git a/GNUmakefile.in b/GNUmakefile.in index 01323aa746..8f544455e9 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -1,7 +1,7 @@ # # PostgreSQL top level makefile # -# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.8 2000/07/17 22:31:56 petere Exp $ +# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.9 2000/07/19 16:29:41 petere Exp $ # subdir = @@ -18,7 +18,7 @@ install: $(MAKE) -C src install @cat $(srcdir)/register.txt -installdirs uninstall clean: +installdirs uninstall clean distprep: $(MAKE) -C doc $@ $(MAKE) -C src $@ @@ -51,3 +51,73 @@ endif # aclocal.m4' or `make configure'. $(top_srcdir)/aclocal.m4: $(wildcard $(top_srcdir)/config/*.m4) cat $^ > $@ + + +########################################################################## + +distdir := postgresql-$(VERSION) +dummy := =install= +garbage := =* "#"* ."#"* *~* *.orig *.rej core postgresql-* + + +dist: $(distdir).tar.gz +ifeq ($(split-dist), yes) +dist: $(distdir).base.tar.gz $(distdir).docs.tar.gz $(distdir).support.tar.gz $(distdir).test.tar.gz +endif +dist: + -rm -rf $(distdir) + +$(distdir).tar: distdir + $(TAR) chf $@ $(distdir) + +$(distdir).base.tar: distdir + $(TAR) -c $(addprefix --exclude $(distdir)/, doc src/test src/interfaces src/bin) \ + -f $@ $(distdir) + +$(distdir).docs.tar: distdir + $(TAR) cf $@ $(distdir)/doc + +$(distdir).support.tar: distdir + $(TAR) cf $@ $(distdir)/src/interfaces $(distdir)/src/bin + +$(distdir).test.tar: distdir + $(TAR) cf $@ $(distdir)/src/test + +%.gz: % + gzip -f --best $< + @text="$@ is ready for distribution." ; \ + frame=`echo "$$text" | sed -e 's/./=/g'` ; \ + echo "$$frame" ; echo "$$text" ; echo "$$frame" + +distdir: distprep + -rm -rf $(distdir)* $(install) + for x in `cd $(top_srcdir) && find . -name CVS -prune -o -print`; do \ + file=`expr $$x : '\./\(.*\)'`; \ + if test -d "$(top_srcdir)/$$file" ; then \ + mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \ + else \ + ln "$(top_srcdir)/$$file" "$(distdir)/$$file"; \ + fi || exit; \ + done + $(MAKE) -C $(distdir) distclean + +distcheck: dist + -rm -rf $(dummy) + mkdir $(dummy) + gunzip -c $(distdir).tar.gz | $(TAR) xf - + install_prefix=`cd $(dummy) && pwd`; \ + cd $(distdir) \ + && ./configure --prefix="$$install_prefix" + $(MAKE) -C $(distdir) -q distprep + $(MAKE) -C $(distdir) + $(MAKE) -C $(distdir) install + $(MAKE) -C $(distdir) uninstall + @echo "checking whether \`$(MAKE) uninstall' works" + test `find $(dummy) -not -type d | wc -l` -eq 0 + $(MAKE) -C $(distdir) dist +# Room for improvement: Check here whether this distribution tarball +# is sufficiently similar to the original one. + -rm -rf $(distdir) $(dummy) + @echo "Distribution integrity checks out." + +.PHONY: dist distdir distcheck |
