]> granicus.if.org Git - postgresql/blobdiff - GNUmakefile.in
Fix rounding problem in dynahash.c's decision about when the target
[postgresql] / GNUmakefile.in
index 7c387333260c83ea2d36f1deeb69107857cbf13e..581628f77e916f3e9109c07f529fa2a50c8843c6 100644 (file)
 #
 # PostgreSQL top level makefile
 #
-# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.4 2000/06/11 18:43:52 tgl Exp $
+# $PostgreSQL: pgsql/GNUmakefile.in,v 1.41 2004/10/06 08:49:58 momjian Exp $
 #
 
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-top_srcdir = @top_srcdir@
+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 src install
-       @cat $(srcdir)/register.txt
-
+       $(MAKE) -C doc $@
+       $(MAKE) -C src $@
+       $(MAKE) -C config $@
+       @echo "PostgreSQL installation complete."
+
+installdirs uninstall distprep:
+       $(MAKE) -C doc $@
+       $(MAKE) -C src $@
+       $(MAKE) -C config $@
+
+# clean, distclean, etc should apply to contrib too, even though
+# it's not built by default
 clean:
-       $(MAKE) -C src clean
-
-distclean:
-       -$(MAKE) -C src distclean
+       $(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
 
-.PHONY: all install clean distclean
-
-
-AUTOCONF = @AUTOCONF@
-ACLOCAL = @ACLOCAL@
+check installcheck:
+       $(MAKE) -C src/test $@
 
 GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
-       CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
-
-# This rule does not work --- what if config.status doesn't exist?
-
-# $(top_builddir)/config.status: $(top_srcdir)/configure
-#      cd $(top_builddir) && ./config.status --recheck
-
-# These dependencies are evil and dangerous, because they can cause make
-# to re-run autoconf and then re-run configure due to configure not
-# having a newer timestamp than configure.in after a CVS pull.  Same
-# problem for aclocal timestamp skew.  This solution is considerably
-# worse than the problem it was intended to solve.
-# Do not put it back or I will take it right out again --- tgl
-
-# $(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4
-#      cd $(top_srcdir) && $(AUTOCONF)
-
-# $(top_srcdir)/aclocal.m4: $(wildcard $(top_srcdir)/config/*.m4)
-#      cd $(top_srcdir) && $(ACLOCAL) -I config
+       ./config.status $@
+
+
+##########################################################################
+
+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)
+
+$(distdir).tar: distdir
+       $(TAR) chf $@ $(distdir)
+
+opt_files := \
+       src/tools src/corba 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 -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) distclean
+       rm -f $(distdir)/README.CVS
+
+distcheck: $(distdir).tar.gz
+       -rm -rf $(dummy)
+       mkdir $(dummy)
+       $(GZIP) -d -c $< | $(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