mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-15 08:20:16 +08:00
b1a38a4380
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.
102 lines
3.0 KiB
Makefile
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
|