summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GNUmakefile.in13
-rw-r--r--configure.in9
-rw-r--r--doc/Makefile94
-rw-r--r--src/Makefile.global.in4
4 files changed, 55 insertions, 65 deletions
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 <pgsql-ports@postgresql.org> 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
+# 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.
-# 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
+subdir = doc
+top_builddir = ..
+include $(top_builddir)/src/Makefile.global
-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)
+MODULES := admin postgres programmer tutorial user
-.PRECIOUS: postgres.tex postgres.dvi
-.PHONY: beforeinstall install all clean distclean
+found_MODULES := $(foreach module, $(MODULES), $(shell test -f $(srcdir)/$(module).tar.gz && echo $(module)))
-beforeinstall:
- -@if [ ! -d $(PGDOCS) ]; then mkdir $(PGDOCS); fi
+ifneq ($(wildcard $(srcdir)/man.tar.gz),)
+found_man := yes
+endif
-install:
- $(MAKE) all
- $(MAKE) man
-all: beforeinstall $(MODULES)
+all:
-clean:
- rm -rf $(MODULES)
-distclean:
- $(MAKE) clean
+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
-man:
- -@if test ! -d $(POSTMANDIR) ; then mkdir $(POSTMANDIR) ; fi
- gunzip -c man.tar.gz | (cd $(POSTMANDIR) ; $(TAR) xf - )
-#
-# Generic production rules
-#
+installdirs:
+ $(mkinstalldirs) $(mandir) $(addprefix $(docdir)/, . $(found_MODULES))
-# 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
-%: %.tar.gz
- rm -rf ./$@ $(PGDOCS)/$*
- if test ! -d $(PGDOCS)/$* ; then mkdir $(PGDOCS)/$* ; fi
- gunzip -c $< | (cd $(PGDOCS)/$* ; $(TAR) xf - )
-# touch ./$*
+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