postgresql/doc/Makefile
Peter Eisentraut b1a38a4380 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.
2001-08-29 19:14:40 +00:00

102 lines
3.0 KiB
Makefile

#----------------------------------------------------------------------------
#
# PostgreSQL documentation installation makefile
#
# Copyright (c) 1994, Regents of the University of California
#
# $Header: /cvsroot/pgsql/doc/Makefile,v 1.21 2001/08/29 19:14:39 petere Exp $
#
#----------------------------------------------------------------------------
# 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.
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
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
ifdef found_html
gzip -d -c postgres.tar.gz | ( cd $(DESTDIR)$(docdir)/html && $(TAR) xf - )
endif
ifdef found_man
for file in man1/*.1 man$(sqlmansectnum)/*.$(sqlmansect) ; do \
$(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/$$file || exit; \
done
endif
installdirs:
ifdef found_html
$(mkinstalldirs) $(DESTDIR)$(docdir)/html
endif
ifdef found_man
$(mkinstalldirs) $(addprefix $(DESTDIR)$(mandir)/man, 1 $(sqlmansectnum))
endif
uninstall:
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 - | 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