diff options
Diffstat (limited to 'GNUmakefile.in')
-rw-r--r-- | GNUmakefile.in | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/GNUmakefile.in b/GNUmakefile.in new file mode 100644 index 0000000..2352fc1 --- /dev/null +++ b/GNUmakefile.in @@ -0,0 +1,143 @@ +# +# PostgreSQL top level makefile +# +# GNUmakefile.in +# + +subdir = +top_builddir = . +include $(top_builddir)/src/Makefile.global + +$(call recurse,all install,src config) + +docs: + $(MAKE) -C doc all + +$(call recurse,world,doc src config contrib,all) + +# build src/ before contrib/ +world-contrib-recurse: world-src-recurse + +$(call recurse,world-bin,src config contrib,all) + +# build src/ before contrib/ +world-bin-contrib-recurse: world-bin-src-recurse + +html man: + $(MAKE) -C doc $@ + +install-docs: + $(MAKE) -C doc install + +$(call recurse,install-world,doc src config contrib,install) + +# build src/ before contrib/ +install-world-contrib-recurse: install-world-src-recurse + +$(call recurse,install-world-bin,src config contrib,install) + +# build src/ before contrib/ +install-world-bin-contrib-recurse: install-world-bin-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: + 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 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-tests: | temp-install +check check-tests installcheck installcheck-parallel installcheck-tests: CHECKPREP_TOP=src/test/regress +check check-tests installcheck installcheck-parallel installcheck-tests: submake-generated-headers + $(MAKE) -C src/test/regress $@ + +$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib src/bin,check) +$(call recurse,checkprep, src/test src/pl src/interfaces/ecpg contrib src/bin) + +$(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib src/bin,installcheck) +$(call recurse,install-tests,src/test/regress,install-tests) + +GNUmakefile: GNUmakefile.in $(top_builddir)/config.status + ./config.status $@ + +update-unicode: | submake-generated-headers submake-libpgport + $(MAKE) -C src/common/unicode $@ + $(MAKE) -C contrib/unaccent $@ + + +########################################################################## + +distdir = postgresql-$(VERSION) +dummy = =install= + +dist: $(distdir).tar.gz $(distdir).tar.bz2 + rm -rf $(distdir) + +$(distdir).tar: distdir + $(TAR) chf $@ $(distdir) + +.INTERMEDIATE: $(distdir).tar + +distdir-location: + @echo $(distdir) + +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." + +headerscheck: submake-generated-headers + $(top_srcdir)/src/tools/pginclude/headerscheck $(top_srcdir) $(abs_top_builddir) + +cpluspluscheck: submake-generated-headers + $(top_srcdir)/src/tools/pginclude/cpluspluscheck $(top_srcdir) $(abs_top_builddir) + +.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world headerscheck cpluspluscheck |