From: Peter Eisentraut Date: Mon, 17 Jul 2000 22:31:59 +0000 (+0000) Subject: End users shouldn't have to invoke a separate command to install the X-Git-Tag: REL7_1_BETA~912 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=44eaafe3f8239e59c92ba27cd25e2d05bd35cf2a;p=postgresql End users shouldn't have to invoke a separate command to install the 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. --- 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 +# 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