mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-15 08:20:16 +08:00
dbf2ec1a1c
The "check" target no longer needs to depend on "all", because it now runs "install" directly, which in turn depends on "all". Doing both will cause problems with parallel make, because two builds will run next to each other. Also remove the redirection of the temp-install output into a log file. This was appropriate when this was done from within pg_regress, but now it's just a regular make run, and especially with the above changes this will now take the place of running the "all" target before the test suites. problem report by Jeff Janes, patch in part by Michael Paquier
130 lines
3.5 KiB
Makefile
130 lines
3.5 KiB
Makefile
#
|
|
# PostgreSQL top level makefile
|
|
#
|
|
# GNUmakefile.in
|
|
#
|
|
|
|
subdir =
|
|
top_builddir = .
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
$(call recurse,all install,src config)
|
|
|
|
all:
|
|
+@echo "All of PostgreSQL successfully made. Ready to install."
|
|
|
|
docs:
|
|
$(MAKE) -C doc all
|
|
|
|
$(call recurse,world,doc src config contrib,all)
|
|
world:
|
|
+@echo "PostgreSQL, contrib, and documentation successfully made. Ready to install."
|
|
|
|
# build src/ before contrib/
|
|
world-contrib-recurse: world-src-recurse
|
|
|
|
html man:
|
|
$(MAKE) -C doc $@
|
|
|
|
install:
|
|
+@echo "PostgreSQL installation complete."
|
|
|
|
install-docs:
|
|
$(MAKE) -C doc install
|
|
|
|
$(call recurse,install-world,doc src config contrib,install)
|
|
install-world:
|
|
+@echo "PostgreSQL, contrib, and documentation installation complete."
|
|
|
|
# build src/ before contrib/
|
|
install-world-contrib-recurse: install-world-src-recurse
|
|
|
|
$(call recurse,installdirs uninstall coverage init-po update-po,doc src config)
|
|
|
|
$(call recurse,distprep,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/
|
|
# 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 check-tests installcheck installcheck-parallel installcheck-tests:
|
|
$(MAKE) -C src/test/regress $@
|
|
|
|
$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib src/bin,check)
|
|
|
|
$(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib src/bin,installcheck)
|
|
|
|
GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
|
|
./config.status $@
|
|
|
|
|
|
##########################################################################
|
|
|
|
distdir = postgresql-$(VERSION)
|
|
dummy = =install=
|
|
garbage = =* "#"* ."#"* *~* *.orig *.rej core postgresql-*
|
|
|
|
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) 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 docs install-docs world check-world install-world installcheck-world
|