mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-21 03:13:05 +08:00
128 lines
3.4 KiB
Makefile
128 lines
3.4 KiB
Makefile
#
|
|
# PostgreSQL top level makefile
|
|
#
|
|
# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.10 2000/08/20 15:55:15 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-*
|
|
|
|
GZIP := gzip
|
|
BZIP2 := bzip2
|
|
|
|
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 $<
|
|
|
|
%.bz2: %
|
|
$(BZIP2) -f $<
|
|
|
|
distdir:
|
|
-rm -rf $(distdir)* $(dummy)
|
|
for x in `cd $(top_srcdir) && find . -name CVS -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) distclean
|
|
|
|
distcheck: $(distdir).tar.gz
|
|
-rm -rf $(dummy)
|
|
mkdir $(dummy)
|
|
gzip -d -c $< | $(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
|