emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117312: Simplify doc/misc/Makefile.in with GNU Make


From: Glenn Morris
Subject: [Emacs-diffs] trunk r117312: Simplify doc/misc/Makefile.in with GNU Make features
Date: Thu, 12 Jun 2014 01:01:01 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117312
revision-id: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Wed 2014-06-11 21:00:57 -0400
message:
  Simplify doc/misc/Makefile.in with GNU Make features
  
  * doc/misc/Makefile.in (mkinfodir): Remove.
  (${buildinfodir}): Generate using an order-only prerequisite.
  (.dvi.ps): Replace with pattern rule.
  ($INFO_TARGETS): Mark as PHONY.
  (${buildinfodir}): New rule.
  (EXTRA_OPTS, need_emacsver, need_emacsver_prefix): New variables.
  (${buildinfodir}/%.info, %.dvi, %.pdf, %.html, %.ps):
  New pattern rules, replacing numerous previous explicit rules.
  (info_template): New definition.
  (gnus.dvi, gnus.pdf): Use distinct intermediate files.
  (mostlyclean): Adjust for above gnus change.
modified:
  doc/misc/ChangeLog             changelog-20091113204419-o5vbwnq5f7feedwu-6331
  doc/misc/Makefile.in           
makefile.in-20091113204419-o5vbwnq5f7feedwu-6287
=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2014-06-11 19:33:14 +0000
+++ b/doc/misc/ChangeLog        2014-06-12 01:00:57 +0000
@@ -1,3 +1,18 @@
+2014-06-12  Glenn Morris  <address@hidden>
+
+       * Makefile.in: Use GNU Make features to reduce duplication.
+       (mkinfodir): Remove.
+       (${buildinfodir}): Generate using an order-only prerequisite.
+       (.dvi.ps): Replace with pattern rule.
+       ($INFO_TARGETS): Mark as PHONY.
+       (${buildinfodir}): New rule.
+       (EXTRA_OPTS, need_emacsver, need_emacsver_prefix): New variables.
+       (${buildinfodir}/%.info, %.dvi, %.pdf, %.html, %.ps):
+       New pattern rules, replacing numerous previous explicit rules.
+       (info_template): New definition.
+       (gnus.dvi, gnus.pdf): Use distinct intermediate files.
+       (mostlyclean): Adjust for above gnus change.
+
 2014-06-11  Glenn Morris  <address@hidden>
 
        * Makefile.in (INFO_INSTALL): Update for 2013-08-28 DOCMISC_W32 change.

=== modified file 'doc/misc/Makefile.in'
--- a/doc/misc/Makefile.in      2014-06-11 19:33:14 +0000
+++ b/doc/misc/Makefile.in      2014-06-12 01:00:57 +0000
@@ -19,15 +19,18 @@
 
 SHELL = @SHELL@
 
-# Where to find the source code.  $(srcdir) will be the man-aux
-# subdirectory of the source tree.  This is
-# set by the configure script's `--srcdir' option.
+# Where to find the source code.  $(srcdir) will be the doc/misc subdirectory
+# of the source tree.  This is set by configure's `--srcdir' option.
 address@hidden@
 
 address@hidden@
 
 ## Where the output files go.
+## 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 tarfile of Emacs, the Info files should be up to date.
 buildinfodir = $(srcdir)/../../info
+
 ## Directory with emacsver.texi.
 emacsdir = $(srcdir)/../emacs
 
@@ -48,6 +51,7 @@
 HTML_OPTS = --no-split --html
 
 # Options used only when making info output.
+# (Note that idlwave, info used --nosplit even without the .info extension.)
 INFO_OPTS= --no-split
 
 INSTALL = @INSTALL@
@@ -55,6 +59,7 @@
 
 # The makeinfo program is part of the Texinfo distribution.
 # Use --force so that it generates output even if there are errors.
+# (TODO?  Why is this appropriate?)
 MAKEINFO = @MAKEINFO@
 MAKEINFO_OPTS = --force -I$(emacsdir)
 
@@ -96,19 +101,12 @@
 ENVADD = TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \
          MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
 
-mkinfodir = @${MKDIR_P} ${buildinfodir}
-
 gfdl = ${srcdir}/doclicense.texi
 
-.PHONY: info dvi html pdf ps echo-info
+.PHONY: info dvi html pdf ps echo-info $(INFO_TARGETS)
 ## Prevent implicit rule triggering for foo.info.
 .SUFFIXES:
 
-.SUFFIXES: .ps .dvi
-
-.dvi.ps:
-       $(DVIPS) -o $@ $<
-
 # Default.
 info: $(INFO_TARGETS)
 
@@ -126,742 +124,90 @@
 
 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.
-# In a distribution of Emacs, the Info files should be up to date.
-
-# Note: "<" is not portable in ordinary make rules.
-
-ada_mode_deps = ${srcdir}/ada-mode.texi ${gfdl}
-ada-mode : $(buildinfodir)/ada-mode.info
-$(buildinfodir)/ada-mode.info: $(ada_mode_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ada-mode.texi
-ada-mode.dvi: $(ada_mode_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi
-ada-mode.pdf: $(ada_mode_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ada-mode.texi
-ada-mode.html: $(ada_mode_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ada-mode.texi
-
-auth_deps = ${srcdir}/auth.texi ${gfdl}
-auth : $(buildinfodir)/auth.info
-$(buildinfodir)/auth.info: $(auth_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/auth.texi
-auth.dvi: $(auth_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/auth.texi
-auth.pdf: $(auth_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/auth.texi
-auth.html: $(auth_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/auth.texi
-
-autotype_deps = ${srcdir}/autotype.texi ${gfdl}
-autotype : $(buildinfodir)/autotype.info
-$(buildinfodir)/autotype.info: $(autotype_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/autotype.texi
-autotype.dvi: $(autotype_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi
-autotype.pdf: $(autotype_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/autotype.texi
-autotype.html: $(autotype_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/autotype.texi
-
-bovine_deps = ${srcdir}/bovine.texi ${gfdl}
-bovine : $(buildinfodir)/bovine.info
-$(buildinfodir)/bovine.info: $(bovine_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/bovine.texi
-bovine.dvi: $(bovine_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/bovine.texi
-bovine.pdf: $(bovine_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/bovine.texi
-bovine.html: $(bovine_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/bovine.texi
-
-calc_deps = ${srcdir}/calc.texi $(emacsdir)/emacsver.texi ${gfdl}
-calc : $(buildinfodir)/calc.info
-$(buildinfodir)/calc.info: $(calc_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/calc.texi
-calc.dvi: $(calc_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi
-calc.pdf: $(calc_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/calc.texi
-calc.html: $(calc_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/calc.texi
-
-cc_mode_deps = ${srcdir}/cc-mode.texi ${gfdl}
-ccmode : $(buildinfodir)/ccmode.info
-$(buildinfodir)/ccmode.info: $(cc_mode_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/cc-mode.texi
-cc-mode.dvi: $(cc_mode_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi
-cc-mode.pdf: $(cc_mode_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/cc-mode.texi
-cc-mode.html: $(cc_mode_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/cc-mode.texi
-
-cl_deps = ${srcdir}/cl.texi $(emacsdir)/emacsver.texi ${gfdl}
-cl : $(buildinfodir)/cl.info
-$(buildinfodir)/cl.info: $(cl_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/cl.texi
-cl.dvi: $(cl_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi
-cl.pdf: $(cl_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/cl.texi
-cl.html: $(cl_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/cl.texi
-
-dbus_deps = ${srcdir}/dbus.texi ${gfdl}
-dbus : $(buildinfodir)/dbus.info
-$(buildinfodir)/dbus.info: $(dbus_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/dbus.texi
-dbus.dvi: $(dbus_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/dbus.texi
-dbus.pdf: $(dbus_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/dbus.texi
-dbus.html: $(dbus_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/dbus.texi
-
-dired_x_deps = ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi ${gfdl}
-dired-x : $(buildinfodir)/dired-x.info
-$(buildinfodir)/dired-x.info: $(dired_x_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/dired-x.texi
-dired-x.dvi: $(dired_x_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi
-dired-x.pdf: $(dired_x_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/dired-x.texi
-dired-x.html: $(dired_x_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/dired-x.texi
-
-ebrowse_deps = ${srcdir}/ebrowse.texi ${gfdl}
-ebrowse : $(buildinfodir)/ebrowse.info
-$(buildinfodir)/ebrowse.info: $(ebrowse_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ebrowse.texi
-ebrowse.dvi: $(ebrowse_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi
-ebrowse.pdf: $(ebrowse_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ebrowse.texi
-ebrowse.html: $(ebrowse_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ebrowse.texi
-
-ede_deps = ${srcdir}/ede.texi ${gfdl}
-ede : $(buildinfodir)/ede.info
-$(buildinfodir)/ede.info: $(ede_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ede.texi
-ede.dvi: $(ede_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ede.texi
-ede.pdf: $(ede_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ede.texi
-ede.html: $(ede_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ede.texi
-
-ediff_deps = ${srcdir}/ediff.texi ${gfdl}
-ediff : $(buildinfodir)/ediff.info
-$(buildinfodir)/ediff.info: $(ediff_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ediff.texi
-ediff.dvi: $(ediff_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi
-ediff.pdf: $(ediff_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ediff.texi
-ediff.html: $(ediff_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ediff.texi
-
-edt_deps = ${srcdir}/edt.texi ${gfdl}
-edt : $(buildinfodir)/edt.info
-$(buildinfodir)/edt.info: $(edt_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/edt.texi
-edt.dvi: $(edt_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/edt.texi
-edt.pdf: $(edt_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/edt.texi
-edt.html: $(edt_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/edt.texi
-
-## No gfdl dependency.
-efaq_deps = ${srcdir}/efaq.texi $(emacsdir)/emacsver.texi
-efaq : $(buildinfodir)/efaq.info
-$(buildinfodir)/efaq.info: $(efaq_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/efaq.texi
-efaq.dvi: $(efaq_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/efaq.texi
-efaq.pdf: $(efaq_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/efaq.texi
-efaq.html: $(efaq_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/efaq.texi
-
-efaq_w32_deps = ${srcdir}/efaq-w32.texi $(emacsdir)/emacsver.texi
-efaq-w32 : $(buildinfodir)/efaq-w32.info
-$(buildinfodir)/efaq-w32.info: $(efaq_w32_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/efaq-w32.texi
-efaq-w32.dvi: $(efaq_w32_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/efaq-w32.texi
-efaq-w32.pdf: $(efaq_w32_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/efaq-w32.texi
-efaq-w32.html: $(efaq_w32_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/efaq-w32.texi
-
-eieio_deps = ${srcdir}/eieio.texi ${gfdl}
-eieio : $(buildinfodir)/eieio.info
-$(buildinfodir)/eieio.info: $(eieio_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eieio.texi
-eieio.dvi: $(eieio_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/eieio.texi
-eieio.pdf: $(eieio_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/eieio.texi
-eieio.html: $(eieio_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eieio.texi
-
-emacs_gnutls_deps = ${srcdir}/emacs-gnutls.texi ${gfdl}
-emacs-gnutls : $(buildinfodir)/emacs-gnutls.info
-$(buildinfodir)/emacs-gnutls.info: $(emacs_gnutls_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ 
${srcdir}/emacs-gnutls.texi
-emacs-gnutls.dvi: $(emacs_gnutls_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-gnutls.texi
-emacs-gnutls.pdf: $(emacs_gnutls_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-gnutls.texi
-emacs-gnutls.html: $(emacs_gnutls_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ 
${srcdir}/emacs-gnutls.texi
-
-emacs_mime_deps = ${srcdir}/emacs-mime.texi ${gfdl}
-emacs-mime : $(buildinfodir)/emacs-mime.info
-$(buildinfodir)/emacs-mime.info: $(emacs_mime_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) --enable-encoding -o $@ 
${srcdir}/emacs-mime.texi
-emacs-mime.dvi: $(emacs_mime_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi
-emacs-mime.pdf: $(emacs_mime_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-mime.texi
-emacs-mime.html: $(emacs_mime_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) --enable-encoding -o $@ 
${srcdir}/emacs-mime.texi
-
-epa_deps = ${srcdir}/epa.texi ${gfdl}
-epa : $(buildinfodir)/epa.info
-$(buildinfodir)/epa.info: $(epa_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/epa.texi
-epa.dvi: $(epa_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/epa.texi
-epa.pdf: $(epa_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/epa.texi
-epa.html: $(epa_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/epa.texi
-
-erc_deps = ${srcdir}/erc.texi $(emacsdir)/emacsver.texi ${gfdl}
-erc : $(buildinfodir)/erc.info
-$(buildinfodir)/erc.info: $(erc_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/erc.texi
-erc.dvi: $(erc_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi
-erc.pdf: $(erc_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/erc.texi
-erc.html: $(erc_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/erc.texi
-
-ert_deps = ${srcdir}/ert.texi ${gfdl}
-ert : $(buildinfodir)/ert.info
-$(buildinfodir)/ert.info: $(ert_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ert.texi
-ert.dvi: $(ert_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ert.texi
-ert.pdf: $(ert_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ert.texi
-ert.html: $(ert_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ert.texi
-
-eshell_deps = ${srcdir}/eshell.texi ${gfdl}
-eshell : $(buildinfodir)/eshell.info
-$(buildinfodir)/eshell.info: $(eshell_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eshell.texi
-eshell.dvi: $(eshell_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi
-eshell.pdf: $(eshell_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/eshell.texi
-eshell.html: $(eshell_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eshell.texi
-
-eudc_deps = ${srcdir}/eudc.texi ${gfdl}
-eudc : $(buildinfodir)/eudc.info
-$(buildinfodir)/eudc.info: $(eudc_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eudc.texi
-eudc.dvi: $(eudc_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi
-eudc.pdf: $(eudc_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/eudc.texi
-eudc.html: $(eudc_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi
-
-eww_deps = ${srcdir}/eww.texi ${gfdl}
-eww : $(buildinfodir)/eww.info
-$(buildinfodir)/eww.info: $(eww_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eww.texi
-eww.dvi: $(eww_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/eww.texi
-eww.pdf: $(eww_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/eww.texi
-eww.html: $(eww_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eww.texi
-
-flymake_deps = ${srcdir}/flymake.texi ${gfdl}
-flymake : $(buildinfodir)/flymake.info
-$(buildinfodir)/flymake.info: $(flymake_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/flymake.texi
-flymake.dvi: $(flymake_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi
-flymake.pdf: $(flymake_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/flymake.texi
-flymake.html: $(flymake_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/flymake.texi
-
-forms_deps = ${srcdir}/forms.texi ${gfdl}
-forms : $(buildinfodir)/forms.info
-$(buildinfodir)/forms.info: $(forms_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/forms.texi
-forms.dvi: $(forms_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi
-forms.pdf: $(forms_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/forms.texi
-forms.html: $(forms_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/forms.texi
-
-## gnus/message/emacs-mime/sieve/pgg are part of Gnus.
+${buildinfodir}:
+       ${MKDIR_P} $@
+
+### The general case.
+
+EXTRA_OPTS =
+
+${buildinfodir}/%.info: ${srcdir}/%.texi ${gfdl} | ${buildinfodir}
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) $(EXTRA_OPTS) -o $@ $<
+
+## The short aliases, eg efaq = $(buildinfodir)/efaq.info.
+define info_template
+ $(1): $$(buildinfodir)/$(1).info
+endef
+
+## "info" is already taken.
+info.info: $(buildinfodir)/info.info
+
+$(foreach ifile,$(filter-out info.info,$(INFO_TARGETS)),$(eval $(call 
info_template,$(ifile))))
+
+
+%.dvi: ${srcdir}/%.texi ${gfdl}
+       $(ENVADD) $(TEXI2DVI) $<
+
+%.pdf: ${srcdir}/%.texi ${gfdl}
+       $(ENVADD) $(TEXI2PDF) $<
+
+%.html: ${srcdir}/%.texi ${gfdl}
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) $(EXTRA_OPTS) -o $@ $<
+
+%.ps: %.dvi
+       $(DVIPS) -o $@ $<
+
+
+### The exceptions.
+
+## Extra dependencies.
+
+need_emacsver = calc cl dired-x efaq efaq-w32 erc ido reftex woman
+need_emacsver_prefix = $(addprefix ${buildinfodir}/,${need_emacsver})
+
+$(need_emacsver_prefix:=.info) $(need_emacsver:=.dvi) $(need_emacsver:=.pdf) 
$(need_emacsver:=.html) : ${emacsdir}/emacsver.texi
+
+$(buildinfodir)/gnus.info gnus.html: ${srcdir}/gnus-faq.texi
+
+$(buildinfodir)/semantic.info semantic.dvi semantic.pdf semantic.html: 
${srcdir}/sem-user.texi
+
+
+## Please can we just rename cc-mode.texi to ccmode.texi...
+${buildinfodir}/ccmode.info: ${srcdir}/cc-mode.texi ${gfdl}
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
+
+## efaq, efaq_w32 do not depend on gfdl.
+## Maybe we can use .SECONDEXPANSION for this.
+${buildinfodir}/efaq%.info: ${srcdir}/efaq%.texi
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
+
+efaq%.dvi: ${srcdir}/efaq%.texi
+       $(ENVADD) $(TEXI2DVI) $<
+
+efaq%.pdf: ${srcdir}/efaq%.texi
+       $(ENVADD) $(TEXI2PDF) $<
+
+efaq%.html: ${srcdir}/efaq%.texi
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
+
+${buildinfodir}/emacs-mime.info emacs-mime.html: EXTRA_OPTS = --enable-encoding
+
 gnus_deps = ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl}
-gnus : $(buildinfodir)/gnus.info
-$(buildinfodir)/gnus.info: $(gnus_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/gnus.texi
 gnus.dvi: $(gnus_deps)
-       sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
-       $(ENVADD) $(TEXI2DVI) gnustmp.texi
-       cp gnustmp.dvi $@
-       rm gnustmp.*
+       sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmpdvi.texi
+       $(ENVADD) $(TEXI2DVI) gnustmpdvi.texi
+       cp gnustmpdvi.dvi $@
+       rm gnustmpdvi.*
+
 gnus.pdf: $(gnus_deps)
-       sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
-       $(ENVADD) $(TEXI2PDF) gnustmp.texi
-       cp gnustmp.pdf $@
-       rm gnustmp.*
-gnus.html: $(gnus_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/gnus.texi
-
-htmlfontify_deps = ${srcdir}/htmlfontify.texi ${gfdl}
-htmlfontify : $(buildinfodir)/htmlfontify.info
-$(buildinfodir)/htmlfontify.info: $(htmlfontify_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ 
${srcdir}/htmlfontify.texi
-htmlfontify.dvi: $(htmlfontify_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/htmlfontify.texi
-htmlfontify.pdf: $(htmlfontify_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/htmlfontify.texi
-htmlfontify.html: $(htmlfontify_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ 
${srcdir}/htmlfontify.texi
-
-idlwave_deps = ${srcdir}/idlwave.texi ${gfdl}
-idlwave : $(buildinfodir)/idlwave.info
-# NB this one needs --no-split even without a .info extension.
-$(buildinfodir)/idlwave.info: $(idlwave_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/idlwave.texi
-idlwave.dvi: $(idlwave_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi
-idlwave.pdf: $(idlwave_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/idlwave.texi
-idlwave.html: $(idlwave_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/idlwave.texi
-
-ido_deps = ${srcdir}/ido.texi $(emacsdir)/emacsver.texi ${gfdl}
-ido : $(buildinfodir)/ido.info
-$(buildinfodir)/ido.info: $(ido_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ido.texi
-ido.dvi: $(ido_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ido.texi
-ido.pdf: $(ido_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ido.texi
-ido.html: $(ido_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ido.texi
-
-info_deps = ${srcdir}/info.texi ${gfdl}
-# Avoid name clash with overall "info" target.
-info.info : $(buildinfodir)/info.info
-# NB this one needs --no-split even without a .info extension.
-$(buildinfodir)/info.info: $(info_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/info.texi
-info.dvi: $(info_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi
-info.pdf: $(info_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/info.texi
-info.html: $(info_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/info.texi
-
-mairix_el_deps = ${srcdir}/mairix-el.texi ${gfdl}
-mairix-el : $(buildinfodir)/mairix-el.info
-$(buildinfodir)/mairix-el.info: $(mairix_el_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/mairix-el.texi
-mairix-el.dvi: $(mairix_el_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/mairix-el.texi
-mairix-el.pdf: $(mairix_el_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/mairix-el.texi
-mairix-el.html: $(mairix_el_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/mairix-el.texi
-
-message_deps = ${srcdir}/message.texi ${gfdl}
-message : $(buildinfodir)/message.info
-$(buildinfodir)/message.info: $(message_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/message.texi
-message.dvi: $(message_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi
-message.pdf: $(message_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/message.texi
-message.html: $(message_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/message.texi
-
-mh_e_deps = ${srcdir}/mh-e.texi ${gfdl}
-mh-e : $(buildinfodir)/mh-e.info
-$(buildinfodir)/mh-e.info: $(mh_e_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/mh-e.texi
-mh-e.dvi: $(mh_e_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi
-mh-e.pdf: $(mh_e_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/mh-e.texi
-mh-e.html: $(mh_e_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/mh-e.texi
-
-newsticker_deps = ${srcdir}/newsticker.texi ${gfdl}
-newsticker : $(buildinfodir)/newsticker.info
-$(buildinfodir)/newsticker.info: $(newsticker_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ 
${srcdir}/newsticker.texi
-newsticker.dvi: $(newsticker_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi
-newsticker.pdf: $(newsticker_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/newsticker.texi
-newsticker.html: $(newsticker_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ 
${srcdir}/newsticker.texi
-
-nxml_mode_deps = ${srcdir}/nxml-mode.texi ${gfdl}
-nxml-mode : $(buildinfodir)/nxml-mode.info
-$(buildinfodir)/nxml-mode.info: $(nxml_mode_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/nxml-mode.texi
-nxml-mode.dvi: $(nxml_mode_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/nxml-mode.texi
-nxml-mode.pdf: $(nxml_mode_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/nxml-mode.texi
-nxml-mode.html: $(nxml_mode_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/nxml-mode.texi
-
-octave_mode_deps = ${srcdir}/octave-mode.texi ${gfdl}
-octave-mode : $(buildinfodir)/octave-mode.info
-$(buildinfodir)/octave-mode.info: $(octave_mode_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ 
${srcdir}/octave-mode.texi
-octave-mode.dvi: $(octave_mode_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/octave-mode.texi
-octave-mode.pdf: $(octave_mode_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/octave-mode.texi
-octave-mode.html: $(octave_mode_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ 
${srcdir}/octave-mode.texi
-
-org_deps = ${srcdir}/org.texi ${gfdl}
-org : $(buildinfodir)/org.info
-$(buildinfodir)/org.info: $(org_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/org.texi
-org.dvi: $(org_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi
-org.pdf: $(org_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/org.texi
-org.html: $(org_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/org.texi
-
-pcl_cvs_deps = ${srcdir}/pcl-cvs.texi ${gfdl}
-pcl-cvs : $(buildinfodir)/pcl-cvs.info
-$(buildinfodir)/pcl-cvs.info: $(pcl_cvs_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/pcl-cvs.texi
-pcl-cvs.dvi: $(pcl_cvs_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi
-pcl-cvs.pdf: $(pcl_cvs_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/pcl-cvs.texi
-pcl-cvs.html: $(pcl_cvs_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/pcl-cvs.texi
-
-pgg_deps = ${srcdir}/pgg.texi ${gfdl}
-pgg : $(buildinfodir)/pgg.info
-$(buildinfodir)/pgg.info: $(pgg_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/pgg.texi
-pgg.dvi: $(pgg_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi
-pgg.pdf: $(pgg_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/pgg.texi
-pgg.html: $(pgg_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/pgg.texi
-
-rcirc_deps = ${srcdir}/rcirc.texi ${gfdl}
-rcirc : $(buildinfodir)/rcirc.info
-$(buildinfodir)/rcirc.info: $(rcirc_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/rcirc.texi
-rcirc.dvi: $(rcirc_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi
-rcirc.pdf: $(rcirc_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/rcirc.texi
-rcirc.html: $(rcirc_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/rcirc.texi
-
-reftex_deps = ${srcdir}/reftex.texi $(emacsdir)/emacsver.texi ${gfdl}
-reftex : $(buildinfodir)/reftex.info
-$(buildinfodir)/reftex.info: $(reftex_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/reftex.texi
-reftex.dvi: $(reftex_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi
-reftex.pdf: $(reftex_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/reftex.texi
-reftex.html: $(reftex_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/reftex.texi
-
-remember_deps = ${srcdir}/remember.texi ${gfdl}
-remember : $(buildinfodir)/remember.info
-$(buildinfodir)/remember.info: $(remember_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/remember.texi
-remember.dvi: $(remember_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/remember.texi
-remember.pdf: $(remember_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/remember.texi
-remember.html: $(remember_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/remember.texi
-
-sasl_deps = ${srcdir}/sasl.texi ${gfdl}
-sasl : $(buildinfodir)/sasl.info
-$(buildinfodir)/sasl.info: $(sasl_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/sasl.texi
-sasl.dvi: $(sasl_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/sasl.texi
-sasl.pdf: $(sasl_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/sasl.texi
-sasl.html: $(sasl_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/sasl.texi
-
-sc_deps = ${srcdir}/sc.texi ${gfdl}
-sc : $(buildinfodir)/sc.info
-$(buildinfodir)/sc.info: $(sc_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/sc.texi
-sc.dvi: $(sc_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi
-sc.pdf: $(sc_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/sc.texi
-sc.html: $(sc_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/sc.texi
-
-semantic_deps = ${srcdir}/semantic.texi ${srcdir}/sem-user.texi ${gfdl}
-semantic : $(buildinfodir)/semantic.info
-$(buildinfodir)/semantic.info: $(semantic_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/semantic.texi
-semantic.dvi: $(semantic_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/semantic.texi
-semantic.pdf: $(semantic_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/semantic.texi
-semantic.html: $(semantic_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/semantic.texi
-
-ses_deps = ${srcdir}/ses.texi ${gfdl}
-ses : $(buildinfodir)/ses.info
-$(buildinfodir)/ses.info: $(ses_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/ses.texi
-ses.dvi: $(ses_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi
-ses.pdf: $(ses_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ses.texi
-ses.html: $(ses_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/ses.texi
-
-sieve_deps = ${srcdir}/sieve.texi ${gfdl}
-sieve : $(buildinfodir)/sieve.info
-$(buildinfodir)/sieve.info: $(sieve_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/sieve.texi
-sieve.dvi: $(sieve_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi
-sieve.pdf: $(sieve_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/sieve.texi
-sieve.html: $(sieve_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/sieve.texi
-
-smtpmail_deps = ${srcdir}/smtpmail.texi ${gfdl}
-smtpmail : $(buildinfodir)/smtpmail.info
-$(buildinfodir)/smtpmail.info: $(smtpmail_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/smtpmail.texi
-smtpmail.dvi: $(smtpmail_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi
-smtpmail.pdf: $(smtpmail_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/smtpmail.texi
-smtpmail.html: $(smtpmail_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/smtpmail.texi
-
-speedbar_deps = ${srcdir}/speedbar.texi ${gfdl}
-speedbar : $(buildinfodir)/speedbar.info
-$(buildinfodir)/speedbar.info: $(speedbar_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/speedbar.texi
-speedbar.dvi: $(speedbar_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi
-speedbar.pdf: $(speedbar_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/speedbar.texi
-speedbar.html: $(speedbar_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/speedbar.texi
-
-srecode_deps = ${srcdir}/srecode.texi ${gfdl}
-srecode : $(buildinfodir)/srecode.info
-$(buildinfodir)/srecode.info: $(srecode_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/srecode.texi
-srecode.dvi: $(srecode_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/srecode.texi
-srecode.pdf: $(srecode_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/srecode.texi
-srecode.html: $(srecode_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/srecode.texi
-
-todo_mode_deps = ${srcdir}/todo-mode.texi ${gfdl}
-todo-mode : $(buildinfodir)/todo-mode.info
-$(buildinfodir)/todo-mode.info: $(todo_mode_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/todo-mode.texi
-todo-mode.dvi: $(todo_mode_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/todo-mode.texi
-todo-mode.pdf: $(todo_mode_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/todo-mode.texi
-todo-mode.html: $(todo_mode_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/todo-mode.texi
-
-tramp_deps = ${srcdir}/tramp.texi ${srcdir}/trampver.texi ${gfdl}
-tramp : $(buildinfodir)/tramp.info
-$(buildinfodir)/tramp.info: $(tramp_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ -D emacs 
${srcdir}/tramp.texi
-tramp.dvi: $(tramp_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi
-tramp.pdf: $(tramp_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/tramp.texi
-tramp.html: $(tramp_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ -D emacs 
${srcdir}/tramp.texi
-
-url_deps = ${srcdir}/url.texi ${gfdl}
-url : $(buildinfodir)/url.info
-$(buildinfodir)/url.info: $(url_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/url.texi
-url.dvi: $(url_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi
-url.pdf: $(url_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/url.texi
-url.html: $(url_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/url.texi
-
-vhdl_mode_deps = ${srcdir}/vhdl-mode.texi ${gfdl}
-vhdl-mode : $(buildinfodir)/vhdl-mode.info
-$(buildinfodir)/vhdl-mode.info: $(vhdl_mode_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/vhdl-mode.texi
-vhdl-mode.dvi: $(vhdl_mode_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/vhdl-mode.texi
-vhdl-mode.pdf: $(vhdl_mode_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/vhdl-mode.texi
-vhdl-mode.html: $(vhdl_mode_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/vhdl-mode.texi
-
-vip_deps = ${srcdir}/vip.texi ${gfdl}
-vip : $(buildinfodir)/vip.info
-$(buildinfodir)/vip.info: $(vip_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/vip.texi
-vip.dvi: $(vip_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi
-vip.pdf: $(vip_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/vip.texi
-vip.html: $(vip_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/vip.texi
-
-viper_deps = ${srcdir}/viper.texi ${gfdl}
-viper : $(buildinfodir)/viper.info
-$(buildinfodir)/viper.info: $(viper_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/viper.texi
-viper.dvi: $(viper_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi
-viper.pdf: $(viper_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/viper.texi
-viper.html: $(viper_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/viper.texi
-
-widget_deps = ${srcdir}/wisent.texi ${gfdl}
-widget : $(buildinfodir)/widget.info
-$(buildinfodir)/widget.info: $(widget_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/widget.texi
-widget.dvi: $(widget_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi
-widget.pdf: $(widget_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi
-widget.html: $(widget_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/widget.texi
-
-wisent_deps = ${srcdir}/wisent.texi ${gfdl}
-wisent : $(buildinfodir)/wisent.info
-$(buildinfodir)/wisent.info: $(wisent_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/wisent.texi
-wisent.dvi: $(wisent_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/wisent.texi
-wisent.pdf: $(wisent_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/wisent.texi
-wisent.html: $(wisent_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/wisent.texi
-
-woman_deps = ${srcdir}/woman.texi $(emacsdir)/emacsver.texi ${gfdl}
-woman : $(buildinfodir)/woman.info
-$(buildinfodir)/woman.info: $(woman_deps)
-       $(mkinfodir)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/woman.texi
-woman.dvi: $(woman_deps)
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi
-woman.pdf: $(woman_deps)
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/woman.texi
-woman.html: $(woman_deps)
-       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/woman.texi
+       sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmppdf.texi
+       $(ENVADD) $(TEXI2PDF) gnustmppdf.texi
+       cp gnustmppdf.pdf $@
+       rm gnustmppdf.*
+
+${buildinfodir}/tramp.info tramp.html: EXTRA_OPTS = -D emacs
+${buildinfodir}/tramp.info tramp.html: ${srcdir}/trampver.texi
+
 
 .PHONY: mostlyclean clean distclean maintainer-clean
 
@@ -869,7 +215,7 @@
        rm -f *.aux *.log *.toc *.c[mp] *.c[mp]s *.fn *.fns \
          *.ky *.kys *.op *.ops *.p[gj] *.p[gj]s *.sc *.scs *.ss \
          *.t[gp] *.t[gp]s *.vr *.vrs
-       rm -f gnustmp.*
+       rm -f gnustmp*
 
 clean: mostlyclean
        rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]