Commit 8496d8d7 authored by Glenn Morris's avatar Glenn Morris

Add build, install, uninstall rules for all dvi, html, pdf, ps manuals

* configure.ac (etcdocdir): Rename from docdir, to avoid confusion
with configure's standard --docdir argument.  All uses updated.

* Makefile.in (etcdocdir): Rename from docdir.  All uses updated.
(install-etcdoc): Rename from install-doc.  All uses updated.
(uninstall): Run uninstall-doc.
(PSS): Add misc-ps.
(INSTALL_DVI, INSTALL_HTML, INSTALL_PDF, INSTALL_PS)
(INSTALL_DOC, UNINSTALL_DVI, UNINSTALL_HTML, UNINSTALL_PDF)
(UNINSTALL_PS, UNINSTALL_DOC): New variables.
($(INSTALL_DOC), install-doc, install-dvi, install-html, install-pdf)
(install-ps, $(UNINSTALL_DOC), uninstall-doc, uninstall-dvi)
(uninstall-html, uninstall-pdf, uninstall-ps): New .PHONY rules.

* doc/emacs/Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
New variables.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(dvi, html, pdf, ps): Use *_TARGETS variables.
(emacs.ps, emacs-xtra.ps): Remove explicit rules.
(emacs.html): Use HTML_OPTS.
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
(.PHONY): install-dvi, install-html, install-pdf, install-ps
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(install-dvi, install-html, install-pdf, install-ps, install-doc)
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
(uninstall-doc): New rules.

* doc/lispintro/Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
New variables.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(dvi, html, pdf, ps): Use *_TARGETS variables.
(emacs-lisp-intro.ps): Remove explicit rule.
(emacs-lisp-intro.html): Use HTML_OPTS.
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
(.PHONY): install-dvi, install-html, install-pdf, install-ps
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(install-dvi, install-html, install-pdf, install-ps, install-doc)
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
(uninstall-doc): New rules.

* doc/lispref/Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
New variables.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(dvi, html, pdf, ps): Use *_TARGETS variables.
(elisp.html): Use HTML_OPTS.
(elisp.ps): Remove explicit rule.
(.PHONY): install-dvi, install-html, install-pdf, install-ps
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(install-dvi, install-html, install-pdf, install-ps, install-doc)
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
(uninstall-doc): New rules.
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.

* doc/misc/Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, HTML_TARGETS, PS_TARGETS, DVIPS): New variables.
(.PHONY): Add html, ps, install-dvi, install-html, install-pdf,
install-ps ,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(html, ps, ada-mode.html, auth.html, autotype.html, bovine.html)
(calc.html, cc-mode.html, cl.html, dbus.html, dired-x.html)
(ebrowse.html, ede.html, ediff.html, edt.html, eieio.html)
(emacs-gnutls.html, emacs-mime.html, epa.html, erc.html)
(ert.html, eshell.html, eudc.html, faq.html, flymake.html)
(forms.html, gnus.html, htmlfontify.html, idlwave.html)
(ido.html, mairix-el.html, message.html, mh-e.html)
(newsticker.html, nxml-mode.html, org.html, pgg.html)
(rcirc.html, reftex.html, remember.html, sasl.html, sc.html)
(semantic.html, sieve.html, smtpmail.html, speedbar.html)
(srecode.html, todo-mode.html, tramp.html, url.html, vip.html)
(viper.html, widget.html, wisent.html, woman.html, install-dvi)
(install-html, install-pdf, install-ps, install-doc, uninstall-dvi)
(uninstall-html, uninstall-ps, uninstall-pdf, uninstall-doc):
New rules.
(clean): Remove HTML_TARGETS and PS_TARGETS.
parent d0e615c3
2013-08-12 Glenn Morris <rgm@gnu.org>
* configure.ac (etcdocdir): Rename from docdir, to avoid confusion
with configure's standard --docdir argument. All uses updated.
* Makefile.in (etcdocdir): Rename from docdir. All uses updated.
(install-etcdoc): Rename from install-doc. All uses updated.
(uninstall): Run uninstall-doc.
(PSS): Add misc-ps.
(INSTALL_DVI, INSTALL_HTML, INSTALL_PDF, INSTALL_PS)
(INSTALL_DOC, UNINSTALL_DVI, UNINSTALL_HTML, UNINSTALL_PDF)
(UNINSTALL_PS, UNINSTALL_DOC): New variables.
($(INSTALL_DOC), install-doc, install-dvi, install-html, install-pdf)
(install-ps, $(UNINSTALL_DOC), uninstall-doc, uninstall-dvi)
(uninstall-html, uninstall-pdf, uninstall-ps): New .PHONY rules.
2013-08-11 Paul Eggert <eggert@cs.ucla.edu>
Add --with-zlib to 'configure'.
......
......@@ -233,8 +233,8 @@ etcdir=@etcdir@
# once.
archlibdir=@archlibdir@
# Where to put the docstring file.
docdir=@docdir@
# Where to put the etc/DOC file.
etcdocdir=@etcdocdir@
# Where to install Emacs game score files.
gamedir=@gamedir@
......@@ -313,7 +313,7 @@ epaths-force: FRC
-e 's;\(#.*PATH_BITMAPS\).*$$;\1 "${bitmapdir}";' \
-e 's;\(#.*PATH_X_DEFAULTS\).*$$;\1 "${x_default_search_path}";' \
-e 's;\(#.*PATH_GAME\).*$$;\1 "${gamedir}";' \
-e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') && \
-e 's;\(#.*PATH_DOC\).*$$;\1 "${etcdocdir}";') && \
${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
# Convert MSYS-style /x/foo or Windows-style x:\foo file names
......@@ -453,7 +453,7 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
# ==================== Installation ====================
.PHONY: install install-arch-dep install-arch-indep install-doc install-info
.PHONY: install install-arch-dep install-arch-indep install-etcdoc install-info
.PHONY: install-man install-etc install-strip install-$(NTDIR)
.PHONY: uninstall uninstall-$(NTDIR)
......@@ -461,7 +461,7 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
## don't have to duplicate the list of utilities to install in
## this Makefile as well.
install: all install-arch-indep install-doc install-arch-dep install-$(NTDIR) blessmail
install: all install-arch-indep install-etcdoc install-arch-dep install-$(NTDIR) blessmail
@true
## Ensure that $subdir contains a subdirs.el file.
......@@ -482,7 +482,7 @@ write_subdir=if [ -f $${subdir}/subdirs.el ]; \
### Install the executables that were compiled specifically for this machine.
### We do install-arch-indep first because the executable needs the
### Lisp files and DOC file to work properly.
install-arch-dep: src install-arch-indep install-doc install-$(NTDIR)
install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR)
umask 022; ${MKDIR_P} $(DESTDIR)${bindir}
cd lib-src && \
$(MAKE) install $(MFLAGS) prefix=${prefix} \
......@@ -541,7 +541,7 @@ set_installuser=for installuser in $${LOGNAME} $${USERNAME} $${USER} \
## We delete etc/DOC* because there may be irrelevant DOC files from
## other builds in the source directory. This is ok because we just
## deleted the entire installed etc/ directory and recreated it.
## install-doc installs the relevant DOC.
## install-etcdoc installs the relevant DOC.
## Note that the Makefiles in the etc directory are potentially useful
## in an installed Emacs, so should not be excluded.
......@@ -621,16 +621,16 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
## Note that install-arch-indep deletes and recreates the entire
## installed etc/ directory, so we need it to run before this does.
install-doc: src install-arch-indep
install-etcdoc: src install-arch-indep
-unset CDPATH; \
umask 022; ${MKDIR_P} $(DESTDIR)${docdir} ; \
if [ `cd ./etc; /bin/pwd` != `cd $(DESTDIR)${docdir}; /bin/pwd` ]; \
umask 022; ${MKDIR_P} $(DESTDIR)${etcdocdir} ; \
if [ `cd ./etc; /bin/pwd` != `cd $(DESTDIR)${etcdocdir}; /bin/pwd` ]; \
then \
docfile="DOC"; \
echo "Copying etc/$${docfile} to $(DESTDIR)${docdir} ..." ; \
${INSTALL_DATA} etc/$${docfile} $(DESTDIR)${docdir}/$${docfile}; \
echo "Copying etc/$${docfile} to $(DESTDIR)${etcdocdir} ..." ; \
${INSTALL_DATA} etc/$${docfile} $(DESTDIR)${etcdocdir}/$${docfile}; \
$(set_installuser); \
chown $${installuser} $(DESTDIR)${docdir}/$${docfile} || true ; \
chown $${installuser} $(DESTDIR)${etcdocdir}/$${docfile} || true ; \
else true; fi
install-info: info
......@@ -716,7 +716,7 @@ install-strip:
### create (but not the noninstalled files such as `make all' would create).
###
### Don't delete the lisp and etc directories if they're in the source tree.
uninstall: uninstall-$(NTDIR)
uninstall: uninstall-$(NTDIR) uninstall-doc
cd lib-src && \
$(MAKE) $(MFLAGS) uninstall \
prefix=${prefix} exec_prefix=${exec_prefix} \
......@@ -921,7 +921,7 @@ 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
PSS = lispref-ps lispintro-ps emacs-ps misc-ps
DOCS = $(DVIS) $(HTMLS) $(INFOS) $(PDFS) $(PSS)
$(DOCS):
......@@ -930,6 +930,7 @@ $(DOCS):
.PHONY: $(DOCS) docs pdf ps
.PHONY: info dvi dist check html info-real force-info check-info-dir
## TODO add etc/refcards.
docs: $(DOCS)
dvi: $(DVIS)
html: $(HTMLS)
......@@ -937,6 +938,55 @@ info-real: $(INFOS)
pdf: $(PDFS)
ps: $(PSS)
INSTALL_DVI = install-emacs-dvi install-lispref-dvi \
install-lispintro-dvi install-misc-dvi
INSTALL_HTML = install-emacs-html install-lispref-html \
install-lispintro-html install-misc-html
INSTALL_PDF = install-emacs-pdf install-lispref-pdf \
install-lispintro-pdf install-misc-pdf
INSTALL_PS = install-emacs-ps install-lispref-ps \
install-lispintro-ps install-misc-ps
INSTALL_DOC = $(INSTALL_DVI) $(INSTALL_HTML) $(INSTALL_PDF) $(INSTALL_PS)
## Install non .info forms of the documentation.
## TODO add etc/refcards.
$(INSTALL_DOC):
t=$@; IFS=-; set $$t; IFS=; cd doc/$$2 && $(MAKE) $(MFLAGS) $$1-$$3
.PHONY: $(INSTALL_DOC) install-doc
.PHONY: install-dvi install-html install-pdf install-ps
install-doc: $(INSTALL_DOC)
install-dvi: $(INSTALL_DVI)
install-html: $(INSTALL_HTML)
install-pdf: $(INSTALL_PDF)
install-ps: $(INSTALL_PS)
UNINSTALL_DVI = uninstall-emacs-dvi uninstall-lispref-dvi \
uninstall-lispintro-dvi uninstall-misc-dvi
UNINSTALL_HTML = uninstall-emacs-html uninstall-lispref-html \
uninstall-lispintro-html uninstall-misc-html
UNINSTALL_PDF = uninstall-emacs-pdf uninstall-lispref-pdf \
uninstall-lispintro-pdf uninstall-misc-pdf
UNINSTALL_PS = uninstall-emacs-ps uninstall-lispref-ps \
uninstall-lispintro-ps uninstall-misc-ps
UNINSTALL_DOC = $(UNINSTALL_DVI) $(UNINSTALL_HTML) $(UNINSTALL_PDF) $(UNINSTALL_PS)
$(UNINSTALL_DOC):
t=$@; IFS=-; set $$t; IFS=; cd doc/$$2 && $(MAKE) $(MFLAGS) $$1-$$3
.PHONY: $(UNINSTALL_DOC) uninstall-doc
.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
uninstall-doc: $(UNINSTALL_DOC)
uninstall-dvi: $(UNINSTALL_DVI)
uninstall-html: $(UNINSTALL_HTML)
uninstall-pdf: $(UNINSTALL_PDF)
uninstall-ps: $(UNINSTALL_PS)
force-info:
# Note that man/Makefile knows how to put the info files in $(srcdir),
# so we can do ok running make in the build dir.
......
......@@ -60,7 +60,7 @@ locallisppath='${datadir}/emacs/${version}/site-lisp:'\
lisppath='${locallisppath}:${standardlisppath}'
etcdir='${datadir}/emacs/${version}/etc'
archlibdir='${libexecdir}/emacs/${version}/${configuration}'
docdir='${datadir}/emacs/${version}/etc'
etcdocdir='${datadir}/emacs/${version}/etc'
gamedir='${localstatedir}/games/emacs'
dnl Special option to disable the most of other options.
......@@ -1615,7 +1615,7 @@ if test "${HAVE_NS}" = yes; then
dnl This one isn't really used, only archlibdir is.
libexecdir="\${ns_appbindir}/libexec"
archlibdir="\${ns_appbindir}/libexec"
docdir="\${ns_appresdir}/etc"
etcdocdir="\${ns_appresdir}/etc"
etcdir="\${ns_appresdir}/etc"
dnl FIXME maybe set datarootdir instead.
dnl That would also get applications, icons, man.
......@@ -4413,7 +4413,7 @@ AC_SUBST(lisppath)
AC_SUBST(x_default_search_path)
AC_SUBST(etcdir)
AC_SUBST(archlibdir)
AC_SUBST(docdir)
AC_SUBST(etcdocdir)
AC_SUBST(bitmapdir)
AC_SUBST(gamedir)
AC_SUBST(gameuser)
......
2013-08-12 Glenn Morris <rgm@gnu.org>
* Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
New variables.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(dvi, html, pdf, ps): Use *_TARGETS variables.
(emacs.ps, emacs-xtra.ps): Remove explicit rules.
(emacs.html): Use HTML_OPTS.
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
(.PHONY): install-dvi, install-html, install-pdf, install-ps
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(install-dvi, install-html, install-pdf, install-ps, install-doc)
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
(uninstall-doc): New rules.
2013-07-31 Eli Zaretskii <eliz@gnu.org>
* emacs.texi (Top): Remove menu item for the removed "Disabling
......
......@@ -38,8 +38,22 @@ buildinfodir = $(srcdir)/../../info
# Directory with the (customized) texinfo.tex file.
texinfodir = $(srcdir)/../misc
prefix = @prefix@
datarootdir = @datarootdir@
datadir = @datadir@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
docdir = @docdir@
dvidir = @dvidir@
htmldir = @htmldir@
pdfdir = @pdfdir@
psdir = @psdir@
MKDIR_P = @MKDIR_P@
GZIP_PROG = @GZIP_PROG@
HTML_OPTS = --no-split --html
INFO_EXT=@INFO_EXT@
# Options used only when making info output.
# --no-split is only needed because of MS-DOS.
......@@ -47,6 +61,9 @@ INFO_EXT=@INFO_EXT@
# http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg01182.html
INFO_OPTS=@INFO_OPTS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
# The makeinfo program is part of the Texinfo distribution.
# Use --force so that it generates output even if there are errors.
MAKEINFO = @MAKEINFO@
......@@ -60,6 +77,10 @@ DVIPS = dvips
ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \
MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
DVI_TARGETS = emacs.dvi emacs-xtra.dvi
HTML_TARGETS = emacs.html
PDF_TARGETS = emacs.pdf emacs-xtra.pdf
PS_TARGETS = emacs.ps emacs-xtra.ps
EMACS_XTRA= \
${srcdir}/emacs-xtra.texi \
......@@ -128,11 +149,16 @@ mkinfodir = @${MKDIR_P} ${buildinfodir}
.PHONY: info dvi html pdf ps
.SUFFIXES: .ps .dvi
.dvi.ps:
$(DVIPS) -o $@ $<
info: $(buildinfodir)/emacs$(INFO_EXT)
dvi: emacs.dvi
html: emacs.html
pdf: emacs.pdf
ps: emacs.ps
dvi: $(DVI_TARGETS)
html: $(HTML_TARGETS)
pdf: $(PDF_TARGETS)
ps: $(PS_TARGETS)
# 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.
......@@ -145,21 +171,15 @@ $(buildinfodir)/emacs$(INFO_EXT): ${EMACSSOURCES}
emacs.dvi: ${EMACSSOURCES}
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi
emacs.ps: emacs.dvi
$(DVIPS) -o $@ emacs.dvi
emacs.pdf: ${EMACSSOURCES}
$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs.texi
emacs.html: ${EMACSSOURCES}
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs.texi
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs.texi
emacs-xtra.dvi: $(EMACS_XTRA)
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi
emacs-xtra.ps: emacs-xtra.dvi
$(DVIPS) -o $@ emacs-xtra.dvi
emacs-xtra.pdf: $(EMACS_XTRA)
$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi
......@@ -172,9 +192,7 @@ mostlyclean:
## Products not in the release tarfiles.
clean: mostlyclean
rm -f emacs.dvi emacs-xtra.dvi emacs.pdf emacs-xtra.pdf \
emacs.ps emacs-xtra.ps
rm -rf emacs.html/
rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
rm -f emacs-manual-${version}.tar*
distclean: clean
......@@ -207,4 +225,52 @@ dist:
tar -cf emacs-manual-${version}.tar emacs-manual-${version}
rm -rf emacs-manual-${version}
.PHONY: install-dvi install-html install-pdf install-ps install-doc
install-dvi: dvi
umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir)
$(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir)
install-html: html
umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir)
$(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir)
install-pdf: pdf
umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir)
$(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir)
install-ps: ps
umask 022; $(MKDIR_P) $(DESTDIR)$(psdir)
for file in $(PS_TARGETS); do \
$(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \
[ -n "${GZIP_PROG}" ] || continue; \
rm -f $(DESTDIR)$(psdir)/$${file}.gz; \
${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \
done
## Top-level Makefile installs the info pages.
install-doc: install-dvi install-html install-pdf install-ps
.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
uninstall-dvi:
for file in $(DVI_TARGETS); do \
rm -f $(DESTDIR)$(dvidir)/$${file}; \
done
uninstall-html:
for file in $(HTML_TARGETS); do \
rm -f $(DESTDIR)$(htmldir)/$${file}; \
done
uninstall-ps:
ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
for file in $(PS_TARGETS); do \
rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \
done
uninstall-pdf:
for file in $(PDF_TARGETS); do \
rm -f $(DESTDIR)$(pdfdir)/$${file}; \
done
uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
### Makefile ends here
2013-08-12 Glenn Morris <rgm@gnu.org>
* Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
New variables.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(dvi, html, pdf, ps): Use *_TARGETS variables.
(emacs-lisp-intro.ps): Remove explicit rule.
(emacs-lisp-intro.html): Use HTML_OPTS.
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
(.PHONY): install-dvi, install-html, install-pdf, install-ps
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(install-dvi, install-html, install-pdf, install-ps, install-doc)
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
(uninstall-doc): New rules.
2013-08-07 Eli Zaretskii <eliz@gnu.org>
* emacs-lisp-intro.texi (Beginning init File): Rename from
......
......@@ -30,12 +30,29 @@ texinfodir = $(srcdir)/../misc
# Directory with emacsver.texi.
emacsdir = $(srcdir)/../emacs
prefix = @prefix@
datarootdir = @datarootdir@
datadir = @datadir@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
docdir = @docdir@
dvidir = @dvidir@
htmldir = @htmldir@
pdfdir = @pdfdir@
psdir = @psdir@
MKDIR_P = @MKDIR_P@
GZIP_PROG = @GZIP_PROG@
HTML_OPTS = --no-split --html
INFO_EXT=@INFO_EXT@
# Options used only when making info output.
INFO_OPTS=@INFO_OPTS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
MAKEINFO = @MAKEINFO@
MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir)
TEXI2DVI = texi2dvi
......@@ -45,6 +62,11 @@ DVIPS = dvips
ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
DVI_TARGETS = emacs-lisp-intro.dvi
HTML_TARGETS = emacs-lisp-intro.html
PDF_TARGETS = emacs-lisp-intro.pdf
PS_TARGETS = emacs-lisp-intro.ps
mkinfodir = @${MKDIR_P} ${buildinfodir}
srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
......@@ -52,12 +74,17 @@ srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
.PHONY: info dvi html pdf ps
.SUFFIXES: .ps .dvi
.dvi.ps:
$(DVIPS) -o $@ $<
info: ${buildinfodir}/eintr$(INFO_EXT)
dvi: emacs-lisp-intro.dvi
html: emacs-lisp-intro.html
pdf: emacs-lisp-intro.pdf
ps: emacs-lisp-intro.ps
dvi: $(DVI_TARGETS)
html: $(HTML_TARGETS)
pdf: $(PDF_TARGETS)
ps: $(PS_TARGETS)
# The file name eintr must fit within 5 characters, to allow for
# -NN extensions to fit into DOS 8+3 limits without clashing.
......@@ -69,14 +96,11 @@ ${buildinfodir}/eintr$(INFO_EXT): ${srcs}
emacs-lisp-intro.dvi: ${srcs}
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-lisp-intro.texi
emacs-lisp-intro.ps: emacs-lisp-intro.dvi
$(DVIPS) -o $@ emacs-lisp-intro.dvi
emacs-lisp-intro.pdf: ${srcs}
$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-lisp-intro.texi
emacs-lisp-intro.html: ${srcs}
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs-lisp-intro.texi
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi
.PHONY: mostlyclean clean distclean maintainer-clean infoclean
......@@ -85,8 +109,7 @@ mostlyclean:
*.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
clean: mostlyclean
rm -f emacs-lisp-intro.dvi emacs-lisp-intro.pdf emacs-lisp-intro.ps
rm -rf emacs-lisp-intro.html/
rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
rm -f emacs-lispintro-${version}.tar*
distclean: clean
......@@ -118,4 +141,52 @@ dist:
tar -cf emacs-lispintro-${version}.tar emacs-lispintro-${version}
rm -rf emacs-lispintro-${version}
.PHONY: install-dvi install-html install-pdf install-ps install-doc
install-dvi: dvi
umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir)
$(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir)
install-html: html
umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir)
$(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir)
install-pdf: pdf
umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir)
$(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir)
install-ps: ps
umask 022; $(MKDIR_P) $(DESTDIR)$(psdir)
for file in $(PS_TARGETS); do \
$(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \
[ -n "${GZIP_PROG}" ] || continue; \
rm -f $(DESTDIR)$(psdir)/$${file}.gz; \
${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \
done
## Top-level Makefile installs the info pages.
install-doc: install-dvi install-html install-pdf install-ps
.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
uninstall-dvi:
for file in $(DVI_TARGETS); do \
rm -f $(DESTDIR)$(dvidir)/$${file}; \
done
uninstall-html:
for file in $(HTML_TARGETS); do \
rm -f $(DESTDIR)$(htmldir)/$${file}; \
done
uninstall-ps:
ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
for file in $(PS_TARGETS); do \
rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \
done
uninstall-pdf:
for file in $(PDF_TARGETS); do \
rm -f $(DESTDIR)$(pdfdir)/$${file}; \
done
uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
### Makefile ends here
2013-08-12 Glenn Morris <rgm@gnu.org>
* Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
(INSTALL_DATA): New, set by configure.
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
New variables.
(.SUFFIXES): Add .ps and .dvi.
(.dvi.ps): New suffix rule.
(dvi, html, pdf, ps): Use *_TARGETS variables.
(elisp.html): Use HTML_OPTS.
(elisp.ps): Remove explicit rule.
(.PHONY): install-dvi, install-html, install-pdf, install-ps
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
uninstall-ps, and uninstall-doc.
(install-dvi, install-html, install-pdf, install-ps, install-doc)
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
(uninstall-doc): New rules.
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
2013-08-10 Xue Fuqiao <xfq.free@gmail.com>
* edebug.texi (Instrumenting Macro Calls): Use @defmac for macros.
......
......@@ -33,12 +33,29 @@ texinfodir = $(srcdir)/../misc
# Directory with emacsver.texi.
emacsdir = $(srcdir)/../emacs
prefix = @prefix@
datarootdir = @datarootdir@
datadir = @datadir@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
docdir = @docdir@
dvidir = @dvidir@
htmldir = @htmldir@
pdfdir = @pdfdir@
psdir = @psdir@
MKDIR_P = @MKDIR_P@
GZIP_PROG = @GZIP_PROG@
HTML_OPTS = --no-split --html
INFO_EXT=@INFO_EXT@
# Options used only when making info output.
INFO_OPTS=@INFO_OPTS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
MAKEINFO = @MAKEINFO@
MAKEINFO_OPTS = --force --enable-encoding -I $(emacsdir) -I $(srcdir)
TEXI2DVI = texi2dvi
......@@ -48,6 +65,11 @@ DVIPS = dvips
ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
DVI_TARGETS = elisp.dvi
HTML_TARGETS = elisp.html
PDF_TARGETS = elisp.pdf
PS_TARGETS = elisp.ps
# List of all the texinfo files in the manual:
srcs = \
......@@ -108,11 +130,16 @@ mkinfodir = @${MKDIR_P} ${buildinfodir}
.PHONY: info dvi pdf ps
.SUFFIXES: .ps .dvi
.dvi.ps:
$(DVIPS) -o $@ $<
info: $(buildinfodir)/elisp$(INFO_EXT)
dvi: elisp.dvi
html: elisp.html
pdf: elisp.pdf
ps: elisp.ps
dvi: $(DVI_TARGETS)
html: $(HTML_TARGETS)
pdf: $(PDF_TARGETS)
ps: $(PS_TARGETS)
## Note: "<" is not portable in ordinary make rules.
$(buildinfodir)/elisp$(INFO_EXT): $(srcs)
......@@ -123,10 +150,7 @@ elisp.dvi: $(srcs)
$(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi
elisp.html: $(srcs)
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $(srcdir)/elisp.texi
elisp.ps: elisp.dvi
$(DVIPS) -o $@ elisp.dvi
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $(srcdir)/elisp.texi
elisp.pdf: $(srcs)
$(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi
......@@ -140,9 +164,8 @@ mostlyclean:
rm -f elisp[12]* vol[12].tmp
clean: mostlyclean
rm -f elisp.dvi elisp.pdf elisp.ps
rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
rm -f vol[12].dvi vol[12].pdf vol[12].ps