mirror of https://github.com/postgres/postgres
158 lines
4.1 KiB
Makefile
158 lines
4.1 KiB
Makefile
#
|
|
# PostgreSQL top level makefile
|
|
#
|
|
# $PostgreSQL: pgsql/GNUmakefile.in,v 1.50 2009/01/15 01:53:49 momjian 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:
|
|
$(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 $@
|
|
|
|
|
|
##########################################################################
|
|
|
|
coverage:
|
|
$(MAKE) -C src/backend $@
|
|
|
|
.PHONY: coverage-html
|
|
coverage-html: coverage
|
|
rm -rf coverage
|
|
mkdir coverage
|
|
$(GENHTML) --show-details --legend --output-directory=coverage --title=PostgreSQL --num-spaces=4 --prefix=$(abs_top_srcdir)/src `find src/backend -name lcov.info -print`
|
|
|
|
ifeq ($(enable_coverage),yes)
|
|
clean distclean maintainer-clean: clean-coverage-local
|
|
.PHONY: clean-coverage-local
|
|
clean-coverage-local:
|
|
rm -rf coverage
|
|
endif
|
|
|
|
|
|
##########################################################################
|
|
|
|
distdir = postgresql-$(VERSION)
|
|
dummy = =install=
|
|
garbage = =* "#"* ."#"* *~* *.orig *.rej core postgresql-*
|
|
|
|
dist: $(distdir).tar.gz $(distdir).tar.bz2
|
|
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)
|
|
|
|
.INTERMEDIATE: $(distdir).tar
|
|
|
|
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/ 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."
|
|
|
|
.PHONY: dist distdir distcheck
|
|
unexport split-dist
|