# # 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