mirror of https://github.com/postgres/postgres
107 lines
2.9 KiB
Makefile
107 lines
2.9 KiB
Makefile
#----------------------------------------------------------------------------
|
|
#
|
|
# PostgreSQL documentation installation makefile
|
|
#
|
|
# Copyright (c) 1994, Regents of the University of California
|
|
#
|
|
# $PostgreSQL: pgsql/doc/Makefile,v 1.32 2008/11/14 10:22:45 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: man7/.timestamp
|
|
@echo timestamp >$@
|
|
|
|
man7/.timestamp: man.tar.gz
|
|
gzip -d -c $< | $(TAR) xf -
|
|
ifneq ($(sqlmansectnum),7)
|
|
for file in man1/*.1; do \
|
|
mv $$file $$file.bak && \
|
|
sed -e 's/\\fR(7)/\\fR($(sqlmansectnum))/g' $$file.bak >$$file && \
|
|
rm -f $$file.bak || exit; \
|
|
done
|
|
endif
|
|
@echo timestamp >$@
|
|
|
|
ifneq ($(sqlmansectnum),7)
|
|
man$(sqlmansectnum)/.timestamp: man7/.timestamp
|
|
$(mkinstalldirs) man$(sqlmansectnum)
|
|
for file in man7/*.7; do \
|
|
sed -e '/^\.TH/s/"7"/"$(sqlmansect)"/' \
|
|
-e 's/\\fR(7)/\\fR($(sqlmansectnum))/g' \
|
|
$$file >man$(sqlmansectnum)/`basename $$file | sed 's/.7$$/.$(sqlmansect)/'` || exit; \
|
|
done
|
|
@echo timestamp >$@
|
|
endif
|
|
endif # found_man
|
|
|
|
|
|
install: all installdirs
|
|
ifdef found_html
|
|
gzip -d -c $(srcdir)/postgres.tar.gz | ( cd $(DESTDIR)$(htmldir)/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)$(htmldir)'/html
|
|
endif
|
|
ifdef found_man
|
|
$(mkinstalldirs) $(addprefix '$(DESTDIR)$(mandir)'/man, 1 $(sqlmansectnum))
|
|
endif
|
|
|
|
|
|
uninstall:
|
|
ifdef found_html
|
|
rm -f $(addprefix $(DESTDIR)$(htmldir)/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,man7/,man$(sqlmansectnum)/,' -e 's/.7$$/.$(sqlmansect)/'))
|
|
endif
|
|
|
|
|
|
clean distclean maintainer-clean:
|
|
rm -rf man1/ man7/ man$(sqlmansectnum)/
|
|
$(MAKE) -C src $@
|