mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
b3d72d3ec5
back --infodir, which several automatic build environments expect to exist. Add --without-docdir to prevent installation of documentation, which is helpful for things like RPM that have their own method of installing documentation.
105 lines
3.0 KiB
Makefile
105 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.26 2003/11/24 14:52:58 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),)
|
|
ifneq (,$(docdir))
|
|
found_html := yes
|
|
endif
|
|
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
|
|
@echo 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 -f $$file.bak || exit; \
|
|
done
|
|
@echo 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 $(srcdir)/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 distclean maintainer-clean:
|
|
rm -rf man1/ man$(sqlmansectnum)/ man$(sqlmansect_dummy)/
|
|
$(MAKE) -C src $@
|