From 29ccc32c3024586a0b171cac4224277ddacecad8 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 30 Mar 2010 00:10:46 +0000 Subject: [PATCH] Separate targets "make docs" and "make install-docs" for the documentation It is no longer installed by default, but included in "make world"/"make install-world". Documentation updated accordingly. Also, fix vpathsearch function to work when calling make install-docs without previous make docs. --- GNUmakefile.in | 19 +++++++++++-------- doc/src/sgml/Makefile | 24 ++++++++++-------------- doc/src/sgml/installation.sgml | 15 ++++++++++++--- 3 files changed, 33 insertions(+), 25 deletions(-) diff --git a/GNUmakefile.in b/GNUmakefile.in index ec26142269..86623a3854 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -1,7 +1,7 @@ # # PostgreSQL top level makefile # -# $PostgreSQL: pgsql/GNUmakefile.in,v 1.57 2010/01/29 01:06:18 adunstan Exp $ +# $PostgreSQL: pgsql/GNUmakefile.in,v 1.58 2010/03/30 00:10:46 petere Exp $ # subdir = @@ -9,33 +9,37 @@ top_builddir = . include $(top_builddir)/src/Makefile.global all: - $(MAKE) -C doc all $(MAKE) -C src all $(MAKE) -C config all @echo "All of PostgreSQL successfully made. Ready to install." +docs: + $(MAKE) -C doc all + world: - $(MAKE) -C doc html + $(MAKE) -C doc all $(MAKE) -C src all $(MAKE) -C config all $(MAKE) -C contrib all - @echo "PostgreSQL, contrib and HTML documentation successfully made. Ready to install." + @echo "PostgreSQL, contrib, and documentation successfully made. Ready to install." html man: $(MAKE) -C doc $@ install: - $(MAKE) -C doc $@ $(MAKE) -C src $@ $(MAKE) -C config $@ @echo "PostgreSQL installation complete." +install-docs: + $(MAKE) -C doc install + install-world: $(MAKE) -C doc install $(MAKE) -C src install $(MAKE) -C config install $(MAKE) -C contrib install - @echo "PostgreSQL and contrib installation complete." + @echo "PostgreSQL, contrib, and documentation installation complete." installdirs uninstall coverage: $(MAKE) -C doc $@ @@ -139,5 +143,4 @@ distcheck: dist rm -rf $(distdir) $(dummy) @echo "Distribution integrity checks out." -.PHONY: dist distdir distcheck -unexport split-dist +.PHONY: dist distdir distcheck docs install-docs diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile index 7cce225a19..1777ceb2ae 100644 --- a/doc/src/sgml/Makefile +++ b/doc/src/sgml/Makefile @@ -2,7 +2,7 @@ # # PostgreSQL documentation makefile # -# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.138 2010/02/05 19:31:18 momjian Exp $ +# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.139 2010/03/30 00:10:46 petere Exp $ # #---------------------------------------------------------------------------- @@ -22,7 +22,9 @@ top_builddir = ../../.. include $(top_builddir)/src/Makefile.global -distprep: html man +all: html man + +distprep: html distprep-man ifndef COLLATEINDEX @@ -73,7 +75,7 @@ override SPFLAGS += -wall -wno-unused-param -wno-empty -wfully-tagged ## Man pages ## -man: man-stamp +man distprep-man: man-stamp man-stamp: stylesheet-man.xsl postgres.xml $(XSLTPROC) $(XSLTPROCFLAGS) $(XSLTPROC_MAN_FLAGS) $^ @@ -271,18 +273,13 @@ check: postgres.sgml $(ALMOSTALLSGML) check-tabs ## Install ## -vpathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,. $(VPATH))))) +vpathsearch = `for f in $(addsuffix /$(1),$(subst :, ,. $(VPATH))); do test -r $$f && echo $$f && break; done` -found_html = $(wildcard html-stamp $(srcdir)/html-stamp) +install: install-html -ifneq ($(wildcard man-stamp $(srcdir)/man-stamp),) -# SCO OpenServer's man system is sufficiently different to not bother. ifneq ($(PORTNAME), sco) -found_man = yes +install: install-man endif -endif - -install: $(if $(found_html),install-html) $(if $(found_man),install-man) installdirs: $(MKDIR_P) '$(DESTDIR)$(htmldir)'/html $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum)) @@ -324,8 +321,7 @@ fixed_sql_manpage_files = $(patsubst $(srcdir)/man7/%.7,fixedman/man$(sqlmansect fixed_manpage_files = $(fixed_nonsql_manpage_files) $(fixed_sql_manpage_files) -all: all-man -all-man: $(fixed_manpage_files) +man: $(fixed_manpage_files) $(fixed_nonsql_manpage_files): fixedman/%: % @$(MKDIR_P) $(dir $@) @@ -335,7 +331,7 @@ $(fixed_sql_manpage_files): fixedman/man$(sqlmansectnum)/%.$(sqlmansect): man7/% @$(MKDIR_P) $(dir $@) $(fix_sqlmansectnum) $< >$@ -install-man: all-man +install-man: man cp -R $(sort $(dir $(fixed_manpage_files))) '$(DESTDIR)$(mandir)' clean: clean-man diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 5db2a57607..22a8a6fba1 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -1,4 +1,4 @@ - + <![%standalone-include[<productname>PostgreSQL</>]]> @@ -1543,8 +1543,9 @@ All of PostgreSQL is successfully made. Ready to install. </para> <para> - If you want to build everything that can be built, including the HTML - documentation and the Additional Modules, type instead: + If you want to build everything that can be built, including the + documentation (HTML and man pages), and the additional modules + (<filename>contrib</filename>), type instead: <screen> <userinput>gmake world</userinput> </screen> @@ -1606,11 +1607,19 @@ PostgreSQL, contrib and HTML documentation successfully made. Ready to install. be granted. </para> + <para> + To install the documentation (HTML and man pages), enter: +<screen> +<userinput>gmake install-docs</userinput> +</screen> + </para> + <para> If you built the world above, type instead: <screen> <userinput>gmake install-world</userinput> </screen> + This also installs the documentation. </para> <para>