From: Paul Eggert Date: Thu, 21 Feb 2013 22:42:56 +0000 (-0800) Subject: Parallelize documentation builds. X-Git-Tag: emacs-24.3.90~173^2~6^2~69 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/b59a2e9edb562fce9c63a73242db323cd4a9dc0f Parallelize documentation builds. This speeds up building of documentation on multiprocessor platforms, and is motivated by Texinfo 5.0, which is much slower. Add a toplevel rule 'make docs' to make all the documentation. * .bzrignore: Add .dvi, .html, .ps. * Makefile.in (DVIS, HTMLS, INFOS, PSS, DOCS): New macros. ($(DOCS), docs, vi, html, pdf, ps): New rules. (info-real): Depend on $(INFOS) rather than doing it sequentially. (dvi): Depend on $(DVIS) rather than doing it sequentially. * doc/misc/Makefile.in (html): New rule. --- diff --git a/ChangeLog b/ChangeLog index e59e0646cb..2720997a6c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2013-02-21 Paul Eggert + + Parallelize documentation builds. + This speeds up building of documentation on multiprocessor + platforms, and is motivated by Texinfo 5.0, which is much slower. + Add a toplevel rule 'make docs' to make all the documentation. + * .bzrignore: Add .dvi, .html, .ps. + * Makefile.in (DVIS, HTMLS, INFOS, PSS, DOCS): New macros. + ($(DOCS), docs, vi, html, pdf, ps): New rules. + (info-real): Depend on $(INFOS) rather than doing it sequentially. + (dvi): Depend on $(DVIS) rather than doing it sequentially. + 2013-02-18 Aidan Gauland * doc/misc/eshell.texi: Added documentation for Eshell insert diff --git a/Makefile.in b/Makefile.in index a2de4f3b16..42b900401f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -54,6 +54,9 @@ # make bootstrap # Removes all the compiled files to force a new bootstrap from a # clean slate, and then build in the normal way. +# +# make docs +# Make Emacs documentation files from their sources; requires makeinfo. SHELL = /bin/sh @@ -859,13 +862,25 @@ check: dist: cd ${srcdir}; ./make-dist +DVIS = lispref-dvi lispintro-dvi emacs-dvi misc-dvi +HTMLS = lispref-html lispintro-html emacs-html misc-html +INFOS = lispref-info lispintro-info emacs-info misc-info +PDFS = lispref-pdf lispintro-pdf emacs-pdf misc-pdf +PSS = lispref-ps lispintro-ps emacs-ps # no misc-ps + +DOCS = $(DVIS) $(HTMLS) $(INFOS) $(PDFS) $(PSS) +$(DOCS): + t=$@; IFS=-; set $$t; IFS=; cd doc/$$1 && $(MAKE) $(MFLAGS) $$2 + +.PHONY: $(DOCS) docs pdf ps .PHONY: info dvi dist check html info-real force-info check-info-dir -info-real: - (cd doc/emacs; $(MAKE) $(MFLAGS) info) - (cd doc/misc; $(MAKE) $(MFLAGS) info) - (cd doc/lispref; $(MAKE) $(MFLAGS) info) - (cd doc/lispintro; $(MAKE) $(MFLAGS) info) +docs: $(DOCS) +dvi: $(DVIS) +html: $(HTMLS) +info-real: $(INFOS) +pdf: $(PDFS) +ps: $(PSS) force-info: # Note that man/Makefile knows how to put the info files in $(srcdir), @@ -904,12 +919,6 @@ check-info-dir: info fi ; \ echo "info/dir is OK" -dvi: - (cd doc/emacs; $(MAKE) $(MFLAGS) dvi) - (cd doc/misc; $(MAKE) $(MFLAGS) dvi) - (cd doc/lispref; $(MAKE) $(MFLAGS) elisp.dvi) - (cd doc/lispintro; $(MAKE) $(MFLAGS) emacs-lisp-intro.dvi) - #### Bootstrapping. ### This first cleans the lisp subdirectory, removing all compiled diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 41eb17415b..4f827073b2 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-02-21 Paul Eggert + + * Makefile.in (html): New rule. + 2013-02-20 Michael Albinus * tramp.texi (Android shell setup): Improve. Reported by Thierry diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 3dac35aafe..add1b42a54 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -192,6 +192,8 @@ webhack: clean dvi: $(DVI_TARGETS) +html: $(HTML_TARGETS) + pdf: $(PDF_TARGETS) # Note that all the Info targets build the Info files in srcdir.