diff options
Diffstat (limited to 'doc/Makefile')
| -rw-r--r-- | doc/Makefile | 66 |
1 files changed, 55 insertions, 11 deletions
diff --git a/doc/Makefile b/doc/Makefile index 233c673550..341f473d0d 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 |
