changeset 110750:cad6890bb825

Minor doc Makefile.in clean-up. * doc/emacs/Makefile.in (SHELL): Set it. (INFO_TARGETS, DVI_TARGETS): Remove variables. (info, dvi): Replace above variables with their expansions. (info): Move mkdir from here... ($(infodir)/emacs): ... to here (for parallel builds). (pdf): New target. ($(infodir)/emacs): Pass -o option to makeinfo. (.PHONY): Declare clean rules. (maintainer-clean): Delete dvi and pdf files. Guard against cd failures. Use a more restrictive delete. * doc/lispref/Makefile.in (dvi, pdf, $(infodir)): New targets. ($(infodir)/elisp): Ensure target directory exists. Use $@. (clean): No 'make.out' or 'core' files. (.PHONY): Declare clean rules. (maintainer-clean): Delete pdf file. Guard against cd failures.
author Glenn Morris <rgm@gnu.org>
date Sun, 03 Oct 2010 17:49:20 -0700
parents 32788054e732
children 40088e2a2aba
files doc/emacs/ChangeLog doc/emacs/Makefile.in doc/lispref/ChangeLog doc/lispref/Makefile.in
diffstat 4 files changed, 46 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/doc/emacs/ChangeLog	Sun Oct 03 17:43:11 2010 -0700
+++ b/doc/emacs/ChangeLog	Sun Oct 03 17:49:20 2010 -0700
@@ -1,3 +1,16 @@
+2010-10-04  Glenn Morris  <rgm@gnu.org>
+
+	* Makefile.in (SHELL): Set it.
+	(INFO_TARGETS, DVI_TARGETS): Remove variables.
+	(info, dvi): Replace above variables with their expansions.
+	(info): Move mkdir from here...
+	($(infodir)/emacs): ... to here (for parallel builds).
+	(pdf): New target.
+	($(infodir)/emacs): Pass -o option to makeinfo.
+	(.PHONY): Declare clean rules.
+	(maintainer-clean): Delete dvi and pdf files.
+	Guard against cd failures.  Use a more restrictive delete.
+
 2010-10-02  Glenn Morris  <rgm@gnu.org>
 
 	* misc.texi (Shell Mode): Remove reference to old function name.
--- a/doc/emacs/Makefile.in	Sun Oct 03 17:43:11 2010 -0700
+++ b/doc/emacs/Makefile.in	Sun Oct 03 17:49:20 2010 -0700
@@ -19,6 +19,7 @@
 # You should have received a copy of the GNU General Public License
 # along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
+SHELL = /bin/sh
 
 # Where to find the source code.  $(srcdir) will be the man
 # subdirectory of the source tree.  This is
@@ -38,10 +39,6 @@
 # Use --force so that it generates output even if there are errors.
 MAKEINFO = makeinfo --force
 
-INFO_TARGETS = $(infodir)/emacs
-DVI_TARGETS  = emacs.dvi
-
-
 TEXI2DVI = texi2dvi
 TEXI2PDF = texi2pdf
 
@@ -111,22 +108,22 @@
 	${srcdir}/kmacro.texi \
 	$(EMACS_XTRA)
 
-info: $(infodir) $(INFO_TARGETS)
+info: $(infodir)/emacs
 
 $(infodir):
 	mkdir $@
 
-dvi: $(DVI_TARGETS)
+dvi: emacs.dvi
+pdf: emacs.pdf
 
-# Note that all the Info targets build the Info files
-# in srcdir.  There is no provision for Info files
-# to exist in the build directory.
+# Note that all the Info targets build the Info files in srcdir.
+# There is no provision for Info files to exist in the build directory.
 # In a distribution of Emacs, the Info files should be up to date.
 
 emacs : $(infodir)/emacs
 
-$(infodir)/emacs: ${EMACSSOURCES}
-	cd $(srcdir); $(MAKEINFO) emacs.texi
+$(infodir)/emacs: $(infodir) ${EMACSSOURCES}
+	cd $(srcdir); $(MAKEINFO) emacs.texi -o $@
 
 emacs.dvi: ${EMACSSOURCES}
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi
@@ -141,6 +138,7 @@
 emacs-xtra.pdf: emacs-xtra.texi $(EMACS_XTRA)
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi
 
+.PHONY: mostlyclean clean distclean maintainer-clean
 
 mostlyclean:
 	rm -f *.log *.cp *.fn *.ky *.op *.ops *.pg *.vr core *.tp *.core
@@ -153,14 +151,7 @@
 #	rm -f Makefile
 
 maintainer-clean: distclean
-	for file in $(INFO_TARGETS); do rm -f $${file}*; done
-
-
-# Formerly this directory had texindex.c and getopt.c in it
-# and this makefile built them to make texindex.
-# That caused trouble because this is run entirely in the source directory.
-# Since we expect to get texi2dvi from elsewhere,
-# it is ok to expect texindex from elsewhere also.
-
+	rm -f emacs.dvi emacs.pdf
+	-cd $(infodir) && rm -f emacs emacs-[1-9] emacs-[1-9][0-9]
 
 ### Makefile ends here
--- a/doc/lispref/ChangeLog	Sun Oct 03 17:43:11 2010 -0700
+++ b/doc/lispref/ChangeLog	Sun Oct 03 17:49:20 2010 -0700
@@ -1,3 +1,11 @@
+2010-10-04  Glenn Morris  <rgm@gnu.org>
+
+	* Makefile.in (dvi, pdf, $(infodir)): New targets.
+	($(infodir)/elisp): Ensure target directory exists.  Use $@.
+	(clean): No 'make.out' or 'core' files.
+	(.PHONY): Declare clean rules.
+	(maintainer-clean): Delete pdf file.  Guard against cd failures.
+
 2010-10-03  Glenn Morris  <rgm@gnu.org>
 
 	* files.texi (File Name Components): Remove ignored section about
--- a/doc/lispref/Makefile.in	Sun Oct 03 17:43:11 2010 -0700
+++ b/doc/lispref/Makefile.in	Sun Oct 03 17:49:20 2010 -0700
@@ -92,14 +92,17 @@
   $(srcdir)/gpl.texi \
   $(srcdir)/doclicense.texi
 
-
-.PHONY: clean
-
 # The info file is named `elisp'.
 info: $(infodir)/elisp
+dvi: elisp.dvi
+pdf: elisp.pdf
 
-$(infodir)/elisp: $(srcs)
-	cd $(srcdir); $(MAKEINFO) -I. -I$(infodir) elisp.texi -o $(infodir)/elisp
+$(infodir):
+	mkdir $@
+
+## FIXME ? -I$infodir is that right, or should it be texinfodir?
+$(infodir)/elisp: $(infodir) $(srcs)
+	cd $(srcdir); $(MAKEINFO) -I. -I$(infodir) elisp.texi -o $@
 
 elisp.dvi: $(srcs)
 	$(TEXI2DVI) -I $(srcdir) -I $(texinfodir) $(srcdir)/elisp.texi
@@ -107,13 +110,16 @@
 elisp.pdf: $(srcs)
 	$(TEXI2PDF) -I $(srcdir) -I $(texinfodir) $(srcdir)/elisp.texi
 
+.PHONY: clean distclean maintainer-clean
+
 clean:
 	rm -f *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
               *.vr *.vrs *.pg *.pgs *.ky *.kys elisp[12]*
-	rm -f make.out core
 
 distclean: clean
 
 maintainer-clean: clean
-	rm -f elisp.dvi elisp.oaux
-	cd $(infodir); rm -f elisp elisp-[1-9] elisp-[1-9][0-9]
+	rm -f elisp.dvi elisp.pdf elisp.oaux
+	-cd $(infodir) && rm -f elisp elisp-[1-9] elisp-[1-9][0-9]
+
+### Makefile ends here