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.
This commit is contained in:
Glenn Morris 2010-10-03 17:49:20 -07:00
parent 1fbcf4289f
commit 0264072dee
4 changed files with 46 additions and 28 deletions

View file

@ -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.

View file

@ -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 @@ texinfodir = $(srcdir)/../misc
# 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 @@ EMACSSOURCES= \
${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.dvi: emacs-xtra.texi $(EMACS_XTRA)
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 @@ distclean: clean
# 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

View file

@ -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

View file

@ -92,14 +92,17 @@ srcs = \
$(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.dvi: $(srcs)
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