mirror of
https://github.com/postgres/postgres.git
synced 2025-05-31 00:01:57 -04:00
Test coverage support now covers the entire source tree, including contrib, instead of just src/backend. In a related but independent development, the commands make coverage and make coverage-html can be run in any directory. This turned out to be much easier than feared. Besides a few ad hoc fixes to pass the make target down the tree, change all affected makefiles to list their directories in the SUBDIRS variable, changed from variants like DIRS and WANTED_DIRS. MSVC build fix was attempted as well.
139 lines
3.7 KiB
Makefile
139 lines
3.7 KiB
Makefile
#
|
|
# PostgreSQL top level makefile
|
|
#
|
|
# $PostgreSQL: pgsql/GNUmakefile.in,v 1.51 2009/08/07 20:50:21 petere 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 coverage:
|
|
$(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 $@
|
|
|
|
|
|
##########################################################################
|
|
|
|
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/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/ HISTORY INSTALL regress_README
|
|
cp $(distdir)/doc/src/sgml/HISTORY $(distdir)/
|
|
cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/
|
|
cp $(distdir)/doc/src/sgml/regress_README $(distdir)/src/test/regress/README
|
|
$(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
|