]> granicus.if.org Git - postgresql/commitdiff
End users shouldn't have to invoke a separate command to install the
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 17 Jul 2000 22:31:59 +0000 (22:31 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 17 Jul 2000 22:31:59 +0000 (22:31 +0000)
documentation. Therefore it's now installed by default. If there is no
documentation to be found (i.e., you are not using the distribution)
then this step is skipped.

Add --docdir option to configure to control installation directory.

GNUmakefile.in
configure.in
doc/Makefile
src/Makefile.global.in

index 1cf0645e3a8df4abcbe8b2806e48ccdc4f8e763d..01323aa746379e8efc781b3c8ec9f075f1f93b16 100644 (file)
@@ -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
 
index 98f9288514deda1a315a6acba59a1475c63786e8..62fdbecc8a051dc31bb504a56e49a5e323650465 100644 (file)
@@ -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
index 784cee8a51ab04066f745e1a84f61162c75686fd..2be591289552ff78dc7c47d2eec91a146b1e340e 100644 (file)
@@ -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
index 1b0016a9d2d08efa86acfb5e8fed2bbc4cbf5404..5a8b2e07474d83220f67778ea8f8a1fa219d1bef 100644 (file)
@@ -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