mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
e2b73f4a4d
Up to now, our distribution tarballs have included a plain-text form of the installation.sgml chapter. The rationale for that was that a recipient might not have either ready internet access or HTML-viewing tools; a theory that seems downright quaint today. Maintaining the ability to generate this file is not without cost, because it puts special requirements on installation.sgml that are often overlooked. Moreover, we are moving in the direction of making our distribution tarballs be pure git snapshots for traceability/reproducibility reasons; including generated files doesn't fit into that plan. Hence, let's just drop INSTALL and remove the infrastructure for generating it. The top-level README will now recommend visiting our website to see the installation instructions. As a useful side-effect, we can get rid of README.git which has provoked confusion. Discussion: https://postgr.es/m/20231220114927.faccqqprmuyrzdip@alap3.anarazel.de Discussion: https://postgr.es/m/e07408d9-e5f2-d9fd-5672-f53354e9305e@eisentraut.org
139 lines
4.0 KiB
Makefile
139 lines
4.0 KiB
Makefile
#
|
|
# PostgreSQL top level makefile
|
|
#
|
|
# GNUmakefile.in
|
|
#
|
|
|
|
subdir =
|
|
top_builddir = .
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
$(call recurse,all install,src config)
|
|
|
|
docs:
|
|
$(MAKE) -C doc all
|
|
|
|
$(call recurse,world,doc src config contrib,all)
|
|
|
|
# build src/ before contrib/
|
|
world-contrib-recurse: world-src-recurse
|
|
|
|
$(call recurse,world-bin,src config contrib,all)
|
|
|
|
# build src/ before contrib/
|
|
world-bin-contrib-recurse: world-bin-src-recurse
|
|
|
|
html man:
|
|
$(MAKE) -C doc $@
|
|
|
|
install-docs:
|
|
$(MAKE) -C doc install
|
|
|
|
$(call recurse,install-world,doc src config contrib,install)
|
|
|
|
# build src/ before contrib/
|
|
install-world-contrib-recurse: install-world-src-recurse
|
|
|
|
$(call recurse,install-world-bin,src config contrib,install)
|
|
|
|
# build src/ before contrib/
|
|
install-world-bin-contrib-recurse: install-world-bin-src-recurse
|
|
|
|
$(call recurse,installdirs uninstall init-po update-po,doc src config)
|
|
|
|
$(call recurse,coverage,doc src config contrib)
|
|
|
|
# clean, distclean, etc should apply to contrib too, even though
|
|
# it's not built by default
|
|
$(call recurse,clean,doc contrib src config)
|
|
clean:
|
|
rm -rf tmp_install/ portlock/
|
|
# Garbage from autoconf:
|
|
@rm -rf autom4te.cache/
|
|
|
|
# Important: distclean `src' last, otherwise Makefile.global
|
|
# will be gone too soon.
|
|
distclean:
|
|
$(MAKE) -C doc $@
|
|
$(MAKE) -C contrib $@
|
|
$(MAKE) -C config $@
|
|
$(MAKE) -C src $@
|
|
rm -rf tmp_install/ portlock/
|
|
# Garbage from autoconf:
|
|
@rm -rf autom4te.cache/
|
|
rm -f config.cache config.log config.status GNUmakefile
|
|
|
|
check-tests: | temp-install
|
|
check check-tests installcheck installcheck-parallel installcheck-tests: CHECKPREP_TOP=src/test/regress
|
|
check check-tests installcheck installcheck-parallel installcheck-tests: submake-generated-headers
|
|
$(MAKE) -C src/test/regress $@
|
|
|
|
$(call recurse,check-world,src/test src/pl src/interfaces contrib src/bin src/tools/pg_bsd_indent,check)
|
|
$(call recurse,checkprep, src/test src/pl src/interfaces contrib src/bin)
|
|
|
|
$(call recurse,installcheck-world,src/test src/pl src/interfaces contrib src/bin,installcheck)
|
|
$(call recurse,install-tests,src/test/regress,install-tests)
|
|
|
|
GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
|
|
./config.status $@
|
|
|
|
update-unicode: | submake-generated-headers submake-libpgport
|
|
$(MAKE) -C src/common/unicode $@
|
|
$(MAKE) -C contrib/unaccent $@
|
|
|
|
|
|
##########################################################################
|
|
|
|
distdir = postgresql-$(VERSION)
|
|
dummy = =install=
|
|
|
|
dist: $(distdir).tar.gz $(distdir).tar.bz2
|
|
rm -rf $(distdir)
|
|
|
|
$(distdir).tar: distdir
|
|
$(TAR) chf $@ $(distdir)
|
|
|
|
.INTERMEDIATE: $(distdir).tar
|
|
|
|
distdir-location:
|
|
@echo $(distdir)
|
|
|
|
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) distclean
|
|
|
|
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)
|
|
$(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."
|
|
|
|
headerscheck: submake-generated-headers
|
|
$(top_srcdir)/src/tools/pginclude/headerscheck $(top_srcdir) $(abs_top_builddir)
|
|
|
|
cpluspluscheck: submake-generated-headers
|
|
$(top_srcdir)/src/tools/pginclude/cpluspluscheck $(top_srcdir) $(abs_top_builddir)
|
|
|
|
.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world headerscheck cpluspluscheck
|