diff --git a/GNUmakefile.in b/GNUmakefile.in index 1cf0645e3a..01323aa746 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -1,7 +1,7 @@ # # PostgreSQL top level makefile # -# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.7 2000/07/16 14:50:28 petere Exp $ +# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.8 2000/07/17 22:31:56 petere Exp $ # subdir = @@ -9,20 +9,23 @@ 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: +installdirs uninstall clean: + $(MAKE) -C doc $@ $(MAKE) -C src $@ -clean: - $(MAKE) -C src clean - +# 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 diff --git a/configure.in b/configure.in index 98f9288514..62fdbecc8a 100644 --- a/configure.in +++ b/configure.in @@ -14,7 +14,14 @@ dnl 8. System services dnl dnl Read the Autoconf manual for details. +dnl The GNU folks apparently haven't heard that some people don't use +dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir". +define([info], [doc]) +define([infodir], [docdir]) AC_INIT(src/backend/access/common/heaptuple.c) +undefine([infodir]) +undefine([info]) + AC_PREFIX_DEFAULT(/usr/local/pgsql) AC_CONFIG_HEADER(src/include/config.h) @@ -78,7 +85,7 @@ esac AC_MSG_ERROR([ ******************************************************************* PostgreSQL has apparently not been ported to your platform yet. -To try a manual configuration, look info the src/template directory +To try a manual configuration, look into the src/template directory for a similar platform and use the \`--with-template=' option. Please also contact to see about diff --git a/doc/Makefile b/doc/Makefile index 784cee8a51..2be5912895 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,78 +1,58 @@ #---------------------------------------------------------------------------- # -# Makefile -# Postgres documentation installation makefile -# Thomas Lockhart +# PostgreSQL documentation installation makefile # # Copyright (c) 1994, Regents of the University of California # -# -# IDENTIFICATION -# $Header: /cvsroot/pgsql/doc/Makefile,v 1.17 2000/07/16 14:50:32 petere Exp $ +# $Header: /cvsroot/pgsql/doc/Makefile,v 1.18 2000/07/17 22:31:57 petere Exp $ # #---------------------------------------------------------------------------- -PGDOCS= $(POSTGRESDIR)/doc -SRCDIR= ../src - -TAR= tar - -# Pick up Makefile.global from the source area -# This is the only resource from the code source area and is optional. -# Actually, we want this to get Makefile.custom - thomas 1998-03-01 - -ifneq ($(wildcard $(SRCDIR)/Makefile.global), ) -include $(SRCDIR)/Makefile.global -endif - -# Hmm, made this optional but jade _really_ doesn't like them missing -# - thomas 1998-03-01 -ifneq ($(HDSL), ) -HTMLOPTS= -d $(HDSL) -endif -ifneq ($(PDSL), ) -PRINTOPTS= -d $(PDSL) -endif - -MODULES= admin postgres programmer tutorial user -TARGETS= $(MODULES:%=%.html) - -.PRECIOUS: postgres.tex postgres.dvi -.PHONY: beforeinstall install all clean distclean - -beforeinstall: - -@if [ ! -d $(PGDOCS) ]; then mkdir $(PGDOCS); fi - -install: - $(MAKE) all - $(MAKE) man - -all: beforeinstall $(MODULES) - -clean: - rm -rf $(MODULES) - -distclean: - $(MAKE) clean - -man: - -@if test ! -d $(POSTMANDIR) ; then mkdir $(POSTMANDIR) ; fi - gunzip -c man.tar.gz | (cd $(POSTMANDIR) ; $(TAR) xf - ) - -# -# Generic production rules +# This directory doesn't build anything, it is only responsible for +# installing the documenation. It is invoked automatically by the +# top-level makefile. The files to be installed are prepared specially +# and are placed in this directory during distribution bundling. In +# CVS-based trees these files don't exist, so we skip the installation +# in that case. # +# To actually build the documenation, look into the src/ and src/sgml +# subdirectories. -# Unpack tar file -# Put into area pointed to by $(PGDOCS). -## Make a local file to keep track of dependencies, -## if $(PGDOCS) points somewhere else. -## Disable this for now - thomas 1998-03-01 -# Remove the contents of the target directory -# to replace symlinks - thomas 1998-03-01 +subdir = doc +top_builddir = .. +include $(top_builddir)/src/Makefile.global -%: %.tar.gz - rm -rf ./$@ $(PGDOCS)/$* - if test ! -d $(PGDOCS)/$* ; then mkdir $(PGDOCS)/$* ; fi - gunzip -c $< | (cd $(PGDOCS)/$* ; $(TAR) xf - ) -# touch ./$* + +MODULES := admin postgres programmer tutorial user + +found_MODULES := $(foreach module, $(MODULES), $(shell test -f $(srcdir)/$(module).tar.gz && echo $(module))) + +ifneq ($(wildcard $(srcdir)/man.tar.gz),) +found_man := yes +endif + + +all: + + +install: all installdirs +ifneq ($(strip $(found_MODULES)),) + for module in $(found_MODULES); do \ + gunzip -c $${module}.tar.gz | ( cd $(docdir)/$$module && $(TAR) xf - ) || \ + exit; \ + done +endif +ifdef found_man + gunzip -c man.tar.gz | ( cd $(mandir) && $(TAR) xf - ) +endif + + +installdirs: + $(mkinstalldirs) $(mandir) $(addprefix $(docdir)/, . $(found_MODULES)) + + +uninstall: + -rm -rf $(addprefix $(docdir)/, $(MODULES)) +ifdef found_man + -rm -f $(addprefix $(mandir)/, $(shell gunzip -c man.tar.gz | tar tf -)) +endif diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 1b0016a9d2..5a8b2e0747 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.87 2000/07/16 14:50:41 petere Exp $ +# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.88 2000/07/17 22:31:59 petere Exp $ # # NOTES # Essentially all Postgres make files include this file and use the @@ -95,8 +95,8 @@ localstatedir = @localstatedir@ libdir = @libdir@ includedir = @includedir@ mandir = @mandir@ +docdir = @docdir@ -docdir = ${prefix}/doc odbcinst_ini_dir = @odbcinst_ini_dir@ # old variable names for installation directories