summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2013-02-21 14:42:56 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2013-02-21 14:42:56 -0800
commitb59a2e9edb562fce9c63a73242db323cd4a9dc0f (patch)
tree01cbe11459af48d73a2d069260f5971d83bdf637
parente224eb4172db7a9203ccf4a3c74954e1168e520b (diff)
downloademacs-b59a2e9edb562fce9c63a73242db323cd4a9dc0f.tar.gz
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.
-rw-r--r--ChangeLog12
-rw-r--r--Makefile.in31
-rw-r--r--doc/misc/ChangeLog4
-rw-r--r--doc/misc/Makefile.in2
4 files changed, 38 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index e59e0646cb7..2720997a6c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2013-02-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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 <aidalgol@no8wireless.co.nz>
* doc/misc/eshell.texi: Added documentation for Eshell insert
diff --git a/Makefile.in b/Makefile.in
index a2de4f3b164..42b900401f7 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 41eb17415b7..4f827073b2f 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,7 @@
+2013-02-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * Makefile.in (html): New rule.
+
2013-02-20 Michael Albinus <michael.albinus@gmx.de>
* tramp.texi (Android shell setup): Improve. Reported by Thierry
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in
index 3dac35aafee..add1b42a545 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.