mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
32163099d7
The latter updated accordingly. Also add `dist' and `distcheck' targets to play with, but caveat packager. Updated backend/bootstrap and backend/parser makefile to make them marginally builddir aware and fix the usual set of things. Add rule to automatically remake config.h dependent on config.h.in and config.status. (Adopted from Autoconf manual and about every other package.) On a good day we should now have a complete and accurate set of dependencies throughout everything.
124 lines
3.4 KiB
Makefile
124 lines
3.4 KiB
Makefile
#
|
|
# PostgreSQL top level makefile
|
|
#
|
|
# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.9 2000/07/19 16:29:41 petere Exp $
|
|
#
|
|
|
|
subdir =
|
|
top_builddir = .
|
|
include src/Makefile.global
|
|
|
|
all:
|
|
$(MAKE) -C doc all
|
|
$(MAKE) -C src all
|
|
@echo "All of PostgreSQL successfully made. Ready to install."
|
|
|
|
install:
|
|
$(MAKE) -C doc install
|
|
$(MAKE) -C src install
|
|
@cat $(srcdir)/register.txt
|
|
|
|
installdirs uninstall clean distprep:
|
|
$(MAKE) -C doc $@
|
|
$(MAKE) -C src $@
|
|
|
|
# Important: distclean `doc' before `src', otherwise Makefile.global
|
|
# will be gone too soon.
|
|
distclean maintainer-clean:
|
|
-$(MAKE) -C doc $@
|
|
-$(MAKE) -C src $@
|
|
-rm -f config.cache config.log config.status GNUmakefile
|
|
|
|
|
|
GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
|
|
CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
|
|
|
|
|
|
# These dependencies are risky because both the target and the sources
|
|
# are in CVS and CVS doesn't preserve timestamps, thus leading to
|
|
# unnecessary reruns of these rules.
|
|
|
|
AUTOCONF = autoconf
|
|
|
|
# Only use this rule if you actually said `make configure'.
|
|
ifeq ($(MAKECMDGOALS),configure)
|
|
$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4
|
|
cd $(top_srcdir) && $(AUTOCONF)
|
|
endif
|
|
|
|
# This one we can leave unprotected because by default nothing depends
|
|
# on aclocal.m4. This rule is only invoked if you say `make
|
|
# aclocal.m4' or `make configure'.
|
|
$(top_srcdir)/aclocal.m4: $(wildcard $(top_srcdir)/config/*.m4)
|
|
cat $^ > $@
|
|
|
|
|
|
##########################################################################
|
|
|
|
distdir := postgresql-$(VERSION)
|
|
dummy := =install=
|
|
garbage := =* "#"* ."#"* *~* *.orig *.rej core postgresql-*
|
|
|
|
|
|
dist: $(distdir).tar.gz
|
|
ifeq ($(split-dist), yes)
|
|
dist: $(distdir).base.tar.gz $(distdir).docs.tar.gz $(distdir).support.tar.gz $(distdir).test.tar.gz
|
|
endif
|
|
dist:
|
|
-rm -rf $(distdir)
|
|
|
|
$(distdir).tar: distdir
|
|
$(TAR) chf $@ $(distdir)
|
|
|
|
$(distdir).base.tar: distdir
|
|
$(TAR) -c $(addprefix --exclude $(distdir)/, doc src/test src/interfaces src/bin) \
|
|
-f $@ $(distdir)
|
|
|
|
$(distdir).docs.tar: distdir
|
|
$(TAR) cf $@ $(distdir)/doc
|
|
|
|
$(distdir).support.tar: distdir
|
|
$(TAR) cf $@ $(distdir)/src/interfaces $(distdir)/src/bin
|
|
|
|
$(distdir).test.tar: distdir
|
|
$(TAR) cf $@ $(distdir)/src/test
|
|
|
|
%.gz: %
|
|
gzip -f --best $<
|
|
@text="$@ is ready for distribution." ; \
|
|
frame=`echo "$$text" | sed -e 's/./=/g'` ; \
|
|
echo "$$frame" ; echo "$$text" ; echo "$$frame"
|
|
|
|
distdir: distprep
|
|
-rm -rf $(distdir)* $(install)
|
|
for x in `cd $(top_srcdir) && find . -name CVS -prune -o -print`; do \
|
|
file=`expr $$x : '\./\(.*\)'`; \
|
|
if test -d "$(top_srcdir)/$$file" ; then \
|
|
mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \
|
|
else \
|
|
ln "$(top_srcdir)/$$file" "$(distdir)/$$file"; \
|
|
fi || exit; \
|
|
done
|
|
$(MAKE) -C $(distdir) distclean
|
|
|
|
distcheck: dist
|
|
-rm -rf $(dummy)
|
|
mkdir $(dummy)
|
|
gunzip -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) -not -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
|