postgresql/GNUmakefile.in
Peter Eisentraut 424f0edcb8 Fix relative path references so that make knowns which dependencies refer
to one another. Sort out builddir vs srcdir variable namings. Remove some
now obsoleted make variables.
2000-08-31 16:12:35 +00:00

128 lines
3.4 KiB
Makefile

#
# PostgreSQL top level makefile
#
# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.11 2000/08/31 16:08:58 petere Exp $
#
subdir =
top_builddir = .
include $(top_builddir)/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