#
# PostgreSQL top level makefile
#
-# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.10 2000/08/20 15:55:15 petere Exp $
+# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.30 2002/10/21 00:12:45 momjian Exp $
#
subdir =
top_builddir = .
-include src/Makefile.global
+include $(top_builddir)/src/Makefile.global
all:
$(MAKE) -C doc all
$(MAKE) -C src install
@cat $(srcdir)/register.txt
-installdirs uninstall clean distprep:
+installdirs uninstall distprep:
$(MAKE) -C doc $@
$(MAKE) -C src $@
-# Important: distclean `doc' before `src', otherwise Makefile.global
+install-all-headers:
+ $(MAKE) -C src $@
+
+# 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 $@
+# 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
+# Garbage from autoconf:
+ @rm -rf autom4te.cache/
+check: all
-GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
- CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
-
-
-# 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.
-
-AUTOCONF = autoconf
+check installcheck:
+ $(MAKE) -C src/test $@
-# 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
-
-# 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 $^ > $@
+GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
+ ./config.status $@
##########################################################################
dummy := =install=
garbage := =* "#"* ."#"* *~* *.orig *.rej core postgresql-*
-GZIP := gzip
-BZIP2 := bzip2
-
dist: $(distdir).tar.gz
ifeq ($(split-dist), yes)
-dist: $(distdir).base.tar.gz $(distdir).docs.tar.gz $(distdir).support.tar.gz $(distdir).test.tar.gz
+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)
-$(distdir).base.tar: distdir
- $(TAR) -c $(addprefix --exclude $(distdir)/, doc src/test src/interfaces src/bin) \
- -f $@ $(distdir)
+opt_files := \
+ src/tools src/corba src/data src/tutorial \
+ src/bin/pgtclsh \
+ $(addprefix src/interfaces/, libpgtcl python jdbc) \
+ $(addprefix src/pl/, plperl plpython tcl)
-$(distdir).docs.tar: distdir
- $(TAR) cf $@ $(distdir)/doc
+docs_files := doc/postgres.tar.gz doc/src doc/TODO.detail
-$(distdir).support.tar: distdir
- $(TAR) cf $@ $(distdir)/src/interfaces $(distdir)/src/bin
+postgresql-base-$(VERSION).tar: distdir
+ $(TAR) -c $(addprefix --exclude $(distdir)/, $(docs_files) $(opt_files) src/test) \
+ -f $@ $(distdir)
-$(distdir).test.tar: distdir
- $(TAR) cf $@ $(distdir)/src/test
+postgresql-docs-$(VERSION).tar: distdir
+ $(TAR) cf $@ $(addprefix $(distdir)/, $(docs_files))
-%.gz: %
- $(GZIP) -f --best $<
+postgresql-opt-$(VERSION).tar: distdir
+ $(TAR) cf $@ $(addprefix $(distdir)/, $(opt_files))
-%.bz2: %
- $(BZIP2) -f $<
+postgresql-test-$(VERSION).tar: distdir
+ $(TAR) cf $@ $(distdir)/src/test
distdir:
-rm -rf $(distdir)* $(dummy)
distcheck: $(distdir).tar.gz
-rm -rf $(dummy)
mkdir $(dummy)
- gzip -d -c $< | $(TAR) xf -
+ $(GZIP) -d -c $< | $(TAR) xf -
install_prefix=`cd $(dummy) && pwd`; \
cd $(distdir) \
&& ./configure --prefix="$$install_prefix"
$(MAKE) -C $(distdir) install
$(MAKE) -C $(distdir) uninstall
@echo "checking whether \`$(MAKE) uninstall' works"
- test `find $(dummy) -not -type d | wc -l` -eq 0
+ 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.
@echo "Distribution integrity checks out."
.PHONY: dist distdir distcheck
+unexport split-dist