mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Providing this information as plain text was doubtless worth the trouble ten years ago, but it seems likely that hardly anyone reads it in this format anymore. And the effort required to maintain these files (in the form of extra-complex markup rules in the relevant parts of the SGML documentation) is significant. So, let's stop doing that and rely solely on the other documentation formats. Per discussion, the plain-text INSTALL instructions might still be worth their keep, so we continue to generate that file. Rather than remove HISTORY and src/test/regress/README from distribution tarballs entirely, replace them with simple stub files that tell the reader where to find the relevant documentation. This is mainly to avoid possibly breaking packaging recipes that expect these files to exist. Back-patch to all supported branches, because simplifying the markup requirements for release notes won't help much unless we do it in all branches.
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
|