summaryrefslogtreecommitdiff
path: root/doc/Makefile
diff options
context:
space:
mode:
authorPeter Eisentraut2001-08-29 19:14:40 +0000
committerPeter Eisentraut2001-08-29 19:14:40 +0000
commitb1a38a438043920e3cbb8692b943a91ddcc4d160 (patch)
treec8a78e2563c2d1881f1c4cfc22966fec59a9d2c3 /doc/Makefile
parent2c6b599c049a84b736e17e16fb00508a1504c905 (diff)
Install the SQL command man pages into a section appropriate for each
system. Some systems did not understand the 'l' section, and in general it wasn't entirely appropriate. On SCO OpenServer, the man pages won't be installed at all until someone figures out their man system.
Diffstat (limited to 'doc/Makefile')
-rw-r--r--doc/Makefile66
1 files changed, 55 insertions, 11 deletions
diff --git a/doc/Makefile b/doc/Makefile
index 233c6735506..341f473d0dc 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -4,16 +4,17 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/doc/Makefile,v 1.20 2000/12/26 20:47:07 petere Exp $
+# $Header: /cvsroot/pgsql/doc/Makefile,v 1.21 2001/08/29 19:14:39 petere Exp $
#
#----------------------------------------------------------------------------
-# 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.
+# This makefile is responsible for installing the documentation. 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.
+#
+# Before we install the man pages, we massage the section numbers to
+# follow the local conventions.
#
# To actually build the documenation, look into the src/ and src/sgml
# subdirectories.
@@ -22,17 +23,47 @@ subdir = doc
top_builddir = ..
include $(top_builddir)/src/Makefile.global
+.NOTPARALLEL:
ifneq ($(wildcard $(srcdir)/postgres.tar.gz),)
found_html := yes
endif
ifneq ($(wildcard $(srcdir)/man.tar.gz),)
+# SCO OpenServer's man system is sufficiently different to not bother.
+ifneq ($(PORTNAME), sco)
found_man := yes
endif
+endif
+
+
+ifdef found_man
+ifndef sqlmansect
+sqlmansect = 7
+endif
+sqlmansectnum = $(shell expr X'$(sqlmansect)' : X'\([0-9]\)')
+
+all: man1/.timestamp man$(sqlmansectnum)/.timestamp
+man1/.timestamp man$(sqlmansect_dummy)/.timestamp: man.tar.gz
+ gzip -d -c $< | $(TAR) xf -
+ for file in man1/*.1; do \
+ mv $$file $$file.bak && \
+ sed -e 's/\\fR($(sqlmansect_dummy))/\\fR($(sqlmansectnum))/' $$file.bak >$$file && \
+ rm $$file.bak || exit; \
+ done
+ @echo timestamp >man1/.timestamp
+ @echo timestamp >man$(sqlmansect_dummy)/.timestamp
-all:
+man$(sqlmansectnum)/.timestamp: man$(sqlmansect_dummy)/.timestamp
+ $(mkinstalldirs) man$(sqlmansectnum)
+ for file in man$(sqlmansect_dummy)/*.$(sqlmansect_dummy); do \
+ sed -e '/^\.TH/s/"$(sqlmansect_dummy)"/"$(sqlmansect)"/' \
+ -e 's/\\fR($(sqlmansect_dummy))/\\fR($(sqlmansectnum))/' \
+ $$file >man$(sqlmansectnum)/`basename $$file | sed 's/.$(sqlmansect_dummy)$$/.$(sqlmansect)/'` || exit; \
+ done
+ @echo timestamp >$@
+endif # found_man
install: all installdirs
@@ -40,12 +71,19 @@ ifdef found_html
gzip -d -c postgres.tar.gz | ( cd $(DESTDIR)$(docdir)/html && $(TAR) xf - )
endif
ifdef found_man
- gzip -d -c man.tar.gz | ( cd $(DESTDIR)$(mandir) && $(TAR) xf - )
+ for file in man1/*.1 man$(sqlmansectnum)/*.$(sqlmansect) ; do \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/$$file || exit; \
+ done
endif
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(mandir) $(DESTDIR)$(docdir)/html
+ifdef found_html
+ $(mkinstalldirs) $(DESTDIR)$(docdir)/html
+endif
+ifdef found_man
+ $(mkinstalldirs) $(addprefix $(DESTDIR)$(mandir)/man, 1 $(sqlmansectnum))
+endif
uninstall:
@@ -53,5 +91,11 @@ ifdef found_html
-rm -f $(addprefix $(DESTDIR)$(docdir)/html/, $(shell gunzip -c $(srcdir)/postgres.tar.gz | tar tf -))
endif
ifdef found_man
- -rm -f $(addprefix $(DESTDIR)$(mandir)/, $(shell gunzip -c $(srcdir)/man.tar.gz | tar tf -))
+ -rm -f $(addprefix $(DESTDIR)$(mandir)/, $(shell gunzip -c $(srcdir)/man.tar.gz | tar tf - | sed -e 's,man$(sqlmansect_dummy)/,man$(sqlmansectnum)/,' -e 's/.$(sqlmansect_dummy)$$/.$(sqlmansect)/'))
endif
+
+
+clean:
+ rm -rf man1/ man$(sqlmansectnum)/ man$(sqlmansect_dummy)/
+
+distclean maintainer-clean: clean