#
# PostgreSQL top level makefile
#
-# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.23 2001/11/21 23:19:25 momjian Exp $
+# GNUmakefile.in
#
subdir =
top_builddir = .
include $(top_builddir)/src/Makefile.global
+$(call recurse,all install,src config)
+
all:
+ +@echo "All of PostgreSQL successfully made. Ready to install."
+
+docs:
$(MAKE) -C doc all
- $(MAKE) -C src all
- @echo "All of PostgreSQL successfully made. Ready to install."
+
+$(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:
+ +@echo "PostgreSQL installation complete."
+
+install-docs:
$(MAKE) -C doc install
- $(MAKE) -C src install
- @cat $(srcdir)/register.txt
-installdirs uninstall distprep:
- $(MAKE) -C doc $@
- $(MAKE) -C src $@
+$(call recurse,install-world,doc src config contrib,install)
+install-world:
+ +@echo "PostgreSQL, contrib, and documentation installation complete."
-install-all-headers:
- $(MAKE) -C src $@
+# build src/ before contrib/
+install-world-contrib-recurse: install-world-src-recurse
+
+$(call recurse,installdirs uninstall coverage init-po update-po,doc src config)
+
+$(call recurse,distprep,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 doc $@
- $(MAKE) -C contrib $@
- $(MAKE) -C src $@
+# 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 src $@
- -rm -f config.cache config.log config.status GNUmakefile
+ $(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 check-tests: all
-check installcheck:
- $(MAKE) -C src/test $@
+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-*
+distdir = postgresql-$(VERSION)
+dummy = =install=
+garbage = =* "#"* ."#"* *~* *.orig *.rej core postgresql-*
-dist: $(distdir).tar.gz
-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)
+dist: $(distdir).tar.gz $(distdir).tar.bz2
+ rm -rf $(distdir)
$(distdir).tar: distdir
$(TAR) chf $@ $(distdir)
-opt_files := src/backend/utils/mb contrib/retep/build.xml \
- src/tools src/corba src/data src/tutorial \
- $(addprefix src/bin/, pgaccess pgtclsh pg_encoding) \
- $(addprefix src/interfaces/, odbc libpq++ libpgtcl perl5 python jdbc) \
- $(addprefix src/pl/, plperl 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))
+.INTERMEDIATE: $(distdir).tar
-postgresql-test-$(VERSION).tar: distdir
- $(TAR) cf $@ $(distdir)/src/test
+distdir-location:
+ @echo $(distdir)
distdir:
- -rm -rf $(distdir)* $(dummy)
- for x in `cd $(top_srcdir) && find . -name CVS -prune -o -print`; do \
+ 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"; \
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: $(distdir).tar.gz
- -rm -rf $(dummy)
+distcheck: dist
+ rm -rf $(dummy)
mkdir $(dummy)
- $(GZIP) -d -c $< | $(TAR) xf -
+ $(GZIP) -d -c $(distdir).tar.gz | $(TAR) xf -
install_prefix=`cd $(dummy) && pwd`; \
cd $(distdir) \
&& ./configure --prefix="$$install_prefix"
$(MAKE) -C $(distdir) dist
# Room for improvement: Check here whether this distribution tarball
# is sufficiently similar to the original one.
- -rm -rf $(distdir) $(dummy)
+ rm -rf $(distdir) $(dummy)
@echo "Distribution integrity checks out."
-.PHONY: dist distdir distcheck
-unexport split-dist
+.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world