# # PostgreSQL top level makefile # # $PostgreSQL: pgsql/GNUmakefile.in,v 1.50 2009/01/15 01:53:49 momjian Exp $ # subdir = top_builddir = . include $(top_builddir)/src/Makefile.global all: $(MAKE) -C doc all $(MAKE) -C src all $(MAKE) -C config all @echo "All of PostgreSQL successfully made. Ready to install." install: $(MAKE) -C doc $@ $(MAKE) -C src $@ $(MAKE) -C config $@ @echo "PostgreSQL installation complete." installdirs uninstall: $(MAKE) -C doc $@ $(MAKE) -C src $@ $(MAKE) -C config $@ distprep: $(MAKE) -C doc $@ $(MAKE) -C src $@ $(MAKE) -C config $@ $(MAKE) -C contrib $@ # clean, distclean, etc should apply to contrib too, even though # it's not built by default clean: $(MAKE) -C doc $@ $(MAKE) -C contrib $@ $(MAKE) -C src $@ $(MAKE) -C config $@ # Garbage from autoconf: @rm -rf autom4te.cache/ # Important: distclean `src' last, otherwise Makefile.global # will be gone too soon. distclean maintainer-clean: $(MAKE) -C doc $@ $(MAKE) -C contrib $@ $(MAKE) -C config $@ $(MAKE) -C src $@ rm -f config.cache config.log config.status GNUmakefile # Garbage from autoconf: @rm -rf autom4te.cache/ check: all check installcheck installcheck-parallel: $(MAKE) -C src/test $@ GNUmakefile: GNUmakefile.in $(top_builddir)/config.status ./config.status $@ ########################################################################## coverage: $(MAKE) -C src/backend $@ .PHONY: coverage-html coverage-html: coverage rm -rf coverage mkdir coverage $(GENHTML) --show-details --legend --output-directory=coverage --title=PostgreSQL --num-spaces=4 --prefix=$(abs_top_srcdir)/src `find src/backend -name lcov.info -print` ifeq ($(enable_coverage),yes) clean distclean maintainer-clean: clean-coverage-local .PHONY: clean-coverage-local clean-coverage-local: rm -rf coverage endif ########################################################################## distdir = postgresql-$(VERSION) dummy = =install= garbage = =* "#"* ."#"* *~* *.orig *.rej core postgresql-* dist: $(distdir).tar.gz $(distdir).tar.bz2 ifeq ($(split-dist), yes) dist: postgresql-base-$(VERSION).tar.gz postgresql-docs-$(VERSION).tar.gz postgresql-opt-$(VERSION).tar.gz postgresql-test-$(VERSION).tar.gz endif dist: rm -rf $(distdir) $(distdir).tar: distdir $(TAR) chf $@ $(distdir) .INTERMEDIATE: $(distdir).tar opt_files = \ src/tools src/tutorial \ $(addprefix src/pl/, plperl plpython tcl) docs_files = doc/postgres.tar.gz doc/src doc/TODO.detail postgresql-base-$(VERSION).tar: distdir $(TAR) -c $(addprefix --exclude $(distdir)/, $(docs_files) $(opt_files) src/test) \ -f $@ $(distdir) postgresql-docs-$(VERSION).tar: distdir $(TAR) cf $@ $(addprefix $(distdir)/, $(docs_files)) postgresql-opt-$(VERSION).tar: distdir $(TAR) cf $@ $(addprefix $(distdir)/, $(opt_files)) postgresql-test-$(VERSION).tar: distdir $(TAR) cf $@ $(distdir)/src/test 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 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." .PHONY: dist distdir distcheck unexport split-dist