X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=GNUmakefile.in;h=dc76a5d11dd88e4c921964c840517a6d93dde3b9;hb=f10637ebe02074e264b17606c00bc09da986c60d;hp=72943e6fd75f26384b7f1a445e0229237a65d21e;hpb=44f64dd3eac840866d884269c8011b22d416bf3c;p=postgresql diff --git a/GNUmakefile.in b/GNUmakefile.in index 72943e6fd7..dc76a5d11d 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -1,53 +1,130 @@ # # PostgreSQL top level makefile # -# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.6 2000/06/28 18:29:11 petere Exp $ +# GNUmakefile.in # subdir = top_builddir = . -include src/Makefile.global +include $(top_builddir)/src/Makefile.global + +$(call recurse,all install,src config) all: - $(MAKE) -C src all - @echo "All of PostgreSQL successfully made. Ready to install." + +@echo "All of PostgreSQL successfully made. Ready to install." + +docs: + $(MAKE) -C doc all + +$(call recurse,world,doc src config contrib,all) +world: + +@echo "PostgreSQL, contrib, and documentation successfully made. Ready to install." + +# build src/ before contrib/ +world-contrib-recurse: world-src-recurse + +html man: + $(MAKE) -C doc $@ install: - $(MAKE) -C src install - @cat $(srcdir)/register.txt + +@echo "PostgreSQL installation complete." -installdirs uninstall: - $(MAKE) -C src $@ +install-docs: + $(MAKE) -C doc install + +$(call recurse,install-world,doc src config contrib,install) +install-world: + +@echo "PostgreSQL, contrib, and documentation installation complete." + +# build src/ before contrib/ +install-world-contrib-recurse: install-world-src-recurse + +$(call recurse,installdirs uninstall init-po update-po,doc src config) +$(call recurse,distprep coverage,doc src config contrib) + +# clean, distclean, etc should apply to contrib too, even though +# it's not built by default +$(call recurse,clean,doc contrib src config) clean: - $(MAKE) -C src clean + rm -rf tmp_install/ +# Garbage from autoconf: + @rm -rf autom4te.cache/ +# Important: distclean `src' last, otherwise Makefile.global +# will be gone too soon. distclean maintainer-clean: - -$(MAKE) -C src $@ - -rm -f config.cache config.log config.status GNUmakefile + $(MAKE) -C doc $@ + $(MAKE) -C contrib $@ + $(MAKE) -C config $@ + $(MAKE) -C src $@ + rm -rf tmp_install/ +# Garbage from autoconf: + @rm -rf autom4te.cache/ + rm -f config.cache config.log config.status GNUmakefile + +check check-tests installcheck installcheck-parallel installcheck-tests: + $(MAKE) -C src/test/regress $@ + +$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib src/bin,check) +$(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib src/bin,installcheck) GNUmakefile: GNUmakefile.in $(top_builddir)/config.status - CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status + ./config.status $@ + + +########################################################################## + +distdir = postgresql-$(VERSION) +dummy = =install= +garbage = =* "#"* ."#"* *~* *.orig *.rej core postgresql-* + +dist: $(distdir).tar.gz $(distdir).tar.bz2 + rm -rf $(distdir) -$(top_builddir)/config.status: $(top_srcdir)/configure - cd $(top_builddir) && ./config.status --recheck +$(distdir).tar: distdir + $(TAR) chf $@ $(distdir) +.INTERMEDIATE: $(distdir).tar -# These dependencies are risky because both the target and the sources -# are in CVS and CVS doesn't preserve timestamps, thus leading to -# unnecessary reruns of these rules. +distdir-location: + @echo $(distdir) -AUTOCONF = autoconf +distdir: + rm -rf $(distdir)* $(dummy) + for x in `cd $(top_srcdir) && find . \( -name CVS -prune \) -o \( -name .git -prune \) -o -print`; do \ + file=`expr X$$x : 'X\./\(.*\)'`; \ + if test -d "$(top_srcdir)/$$file" ; then \ + mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \ + else \ + ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \ + || cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \ + fi || exit; \ + done + $(MAKE) -C $(distdir) distprep + $(MAKE) -C $(distdir)/doc/src/sgml/ INSTALL + cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/ + $(MAKE) -C $(distdir) distclean + rm -f $(distdir)/README.git -# Only use this rule if you actually said `make configure'. -ifeq ($(MAKECMDGOALS),configure) -$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4 - cd $(top_srcdir) && $(AUTOCONF) -endif +distcheck: dist + rm -rf $(dummy) + mkdir $(dummy) + $(GZIP) -d -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) ! -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." -# This one we can leave unprotected because by default nothing depends -# on aclocal.m4. This rule is only invoked if you say `make -# aclocal.m4' or `make configure'. -$(top_srcdir)/aclocal.m4: $(wildcard $(top_srcdir)/config/*.m4) - cat $^ > $@ +.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world