1# 2# PostgreSQL top level makefile 3# 4# GNUmakefile.in 5# 6 7subdir = 8top_builddir = . 9include $(top_builddir)/src/Makefile.global 10 11$(call recurse,all install,src config) 12 13all: 14 +@echo "All of PostgreSQL successfully made. Ready to install." 15 16docs: 17 $(MAKE) -C doc all 18 19$(call recurse,world,doc src config contrib,all) 20world: 21 +@echo "PostgreSQL, contrib, and documentation successfully made. Ready to install." 22 23# build src/ before contrib/ 24world-contrib-recurse: world-src-recurse 25 26$(call recurse,world-bin,src config contrib,all) 27 28# build src/ before contrib/ 29world-bin-contrib-recurse: world-bin-src-recurse 30 31html man: 32 $(MAKE) -C doc $@ 33 34install: 35 +@echo "PostgreSQL installation complete." 36 37install-docs: 38 $(MAKE) -C doc install 39 40$(call recurse,install-world,doc src config contrib,install) 41install-world: 42 +@echo "PostgreSQL, contrib, and documentation installation complete." 43 44# build src/ before contrib/ 45install-world-contrib-recurse: install-world-src-recurse 46 47$(call recurse,install-world-bin,src config contrib,install) 48 49# build src/ before contrib/ 50install-world-bin-contrib-recurse: install-world-bin-src-recurse 51 52$(call recurse,installdirs uninstall coverage init-po update-po,doc src config) 53 54$(call recurse,distprep,doc src config contrib) 55 56# clean, distclean, etc should apply to contrib too, even though 57# it's not built by default 58$(call recurse,clean,doc contrib src config) 59clean: 60 rm -rf tmp_install/ 61# Garbage from autoconf: 62 @rm -rf autom4te.cache/ 63 64# Important: distclean `src' last, otherwise Makefile.global 65# will be gone too soon. 66distclean maintainer-clean: 67 $(MAKE) -C doc $@ 68 $(MAKE) -C contrib $@ 69 $(MAKE) -C config $@ 70 $(MAKE) -C src $@ 71 rm -rf tmp_install/ 72# Garbage from autoconf: 73 @rm -rf autom4te.cache/ 74 rm -f config.cache config.log config.status GNUmakefile 75 76check-tests: | temp-install 77check check-tests installcheck installcheck-parallel installcheck-tests: 78 $(MAKE) -C src/test/regress $@ 79 80$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib src/bin,check) 81 82$(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib src/bin,installcheck) 83$(call recurse,install-tests,src/test/regress,install-tests) 84 85GNUmakefile: GNUmakefile.in $(top_builddir)/config.status 86 ./config.status $@ 87 88 89########################################################################## 90 91distdir = postgresql-$(VERSION) 92dummy = =install= 93garbage = =* "#"* ."#"* *~* *.orig *.rej core postgresql-* 94 95dist: $(distdir).tar.gz $(distdir).tar.bz2 96 rm -rf $(distdir) 97 98$(distdir).tar: distdir 99 $(TAR) chf $@ $(distdir) 100 101.INTERMEDIATE: $(distdir).tar 102 103distdir-location: 104 @echo $(distdir) 105 106distdir: 107 rm -rf $(distdir)* $(dummy) 108 for x in `cd $(top_srcdir) && find . \( -name CVS -prune \) -o \( -name .git -prune \) -o -print`; do \ 109 file=`expr X$$x : 'X\./\(.*\)'`; \ 110 if test -d "$(top_srcdir)/$$file" ; then \ 111 mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \ 112 else \ 113 ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \ 114 || cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \ 115 fi || exit; \ 116 done 117 $(MAKE) -C $(distdir) distprep 118 $(MAKE) -C $(distdir)/doc/src/sgml/ INSTALL 119 cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/ 120 $(MAKE) -C $(distdir) distclean 121 rm -f $(distdir)/README.git 122 123distcheck: dist 124 rm -rf $(dummy) 125 mkdir $(dummy) 126 $(GZIP) -d -c $(distdir).tar.gz | $(TAR) xf - 127 install_prefix=`cd $(dummy) && pwd`; \ 128 cd $(distdir) \ 129 && ./configure --prefix="$$install_prefix" 130 $(MAKE) -C $(distdir) -q distprep 131 $(MAKE) -C $(distdir) 132 $(MAKE) -C $(distdir) install 133 $(MAKE) -C $(distdir) uninstall 134 @echo "checking whether \`$(MAKE) uninstall' works" 135 test `find $(dummy) ! -type d | wc -l` -eq 0 136 $(MAKE) -C $(distdir) dist 137# Room for improvement: Check here whether this distribution tarball 138# is sufficiently similar to the original one. 139 rm -rf $(distdir) $(dummy) 140 @echo "Distribution integrity checks out." 141 142.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world 143