groff-commit
[Top][All Lists]
Advanced

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

[groff] 04/27: [build]: Rationalize in-tree document deps.


From: G. Branden Robinson
Subject: [groff] 04/27: [build]: Rationalize in-tree document deps.
Date: Tue, 3 May 2022 14:27:07 -0400 (EDT)

gbranden pushed a commit to branch master
in repository groff.

commit 3a58ef2712d1bcf123dbf925d3f371823533e71a
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Mon May 2 01:13:48 2022 +1000

    [build]: Rationalize in-tree document deps.
    
    [build]: Reduce and rationalize in-tree document dependencies.  This
    eliminates spurious rebuilds of numerous documents (including the
    380+-page groff-man-pages collections).  It also fixes missing
    dependencies when using the build's groff to generate PostScript
    documents.
    
    * .gitignore: Drop old name of devpdf stamp file.
    
    * doc/.gitignore: Drop now-unused "example.stamp" file.
    
    * doc/doc.am (PROCESSEDDOCFILES_HTML, PROCESSEDDOCFILES_PDF,
      PROCESSEDDOCFILES_TXT): Add new macros grouping targets by the
      format/output driver used to produce them, to better organize
      dependencies for their generation.
    
      (PROCESSEDDOCFILES): Redefine as simply the expansions of the
      foregeoing.
    
      (PROCESSEDFILES_DEPS_HTML, PROCESSEDFILES_DEPS_HTML,
      PROCESSEDFILES_DEPS_PDF, PROCESSEDFILES_DEPS_TXT): Add new macros
      defining prerequisites for production of the corresponding output
      document formats.
    
      ($(PROCESSEDDOCFILES_HTML), $(PROCESSEDDOCFILES_PDF),
      $(PROCESSEDDOCFILES_PS), $(PROCESSEDDOCFILES_TXT)): Declare the
      dependencies using expansions of the foregoing macros.
    
      (MOSTLYCLEANFILES): Drop "doc/automake.pdf", now part of
      `PROCESSEDDOCFILES_PDF`.
    
      (doc/automake.pdf): Drop dependencies already supplied by
      `PROCESSEDFILES_DEPS_PDF`.
    
      (HTMLDOCFILES): Drop macro.  "doc/pic.html" is now in the expansion of
      `PROCESSEDDOCFILES_HTML`.
    
      (htmlpic_DATA): Redefine as expansion of `PROCESSEDDOCFILES_HTML`
      instead of `HTMLDOCFILES`.
    
      (PROCESSEDEXAMPLEFILES_HTML) [BUILD_HTML]: Define as
      "doc/webpage.html", otherwise as empty.
    
      (PROCESSEDEXAMPLEFILES_PS): Contain "doc/webpage.ps" and
      "doc/grnexampl.ps".
    
      (PROCESSEDEXAMPLEFILES): Redefine as expansions of
      `PROCESSEDEXAMPLEFILES_HTML` and `PROCESSEDEXAMPLEFILES_PS`.
    
      ($(PROCESSEDEXAMPLEFILES_HTML), $(PROCESSEDEXAMPLEFILES_PS)): Declare
      dependencies using `PROCESSEDFILES_DEPS_HTML` and
      `PROCESSEDFILES_DEPS_PS`, respectively.
    
      (nodist_docexamples_DATA): Redefine macro as expansions of now-split
      macros `PROCESSEDEXAMPLEFILES_HTML` and `PROCESSEDEXAMPLEFILES_PS`.
    
      (HTMLEXAMPLEFILES): Drop macro.  "doc/webpage.html" is now in the
      expansion of `PROCESSEDDOCFILES_HTML`.
    
      (nodist_htmlexamples_DATA): Drop macro, no longer needed.
    
      ($(PROCESSEDDOCFILES_PS)): Relocated and redefined above.
      ($(PROCESSEDEXAMPLEFILES) $(PROCESSEDDOCFILES)): Drop overbroad
      dependency declarations in favor of the above.
    
      (MOSTLYCLEANFILES, doc/examples.stamp): Drop generation and removal of
      unnecessary stamp file.
    
      (doc/pic.html, doc/webpage.html): Add explicit dependency on required
      preprocessors.  Drop redundant and spurious dependencies.
    
    * font/devhtml/devhtml.am (MOSTLYCLEANFILES, font/devhtml/stamp):
      Generate and remove stamp file to enable reliable target dependencies
      for build-time generation of HTML documents by groff.
    
    * font/devpdf/devpdf.am (MOSTLYCLEANFILES, font/devpdf/stamp): Rename
      stamp file from "font/devpdf/build_font_files".
    
      (font/devpdf/stamp): Drop unnecessary dependency on "afmtodit".
    
    * font/devps/devps.am (MOSTLYCLEANFILES, font/devps/stamp): Generate and
      remove stamp file to enable reliable target dependencies for
      build-time generation of PostScript documents by groff.
    
    * font/devutf8/devutf8.am (MOSTLYCLEANFILES, font/devutf8/stamp):
      Generate and remove stamp file to enable reliable target dependencies
      for build-time generation of UTF-8-encoded text documents by groff.
    
    * contrib/hdtbl/hdtbl.am (HDTBLPROCESSEDEXAMPLEFILES): Add dependency on
      devps stamp file since the files' target rule generates PostScript
      with groff.
    
    * contrib/mom/mom.am ($(MOMPROCESSEDEXAMPLEFILES)): Depend on new name
      for devpdf stamp file.
    
    * contrib/sboxes/sboxes.am ($(sboxes_builddir)/msboxes.pdf): Depend on
      new name for devpdf stamp file.
    
    Fixes <https://savannah.gnu.org/bugs/?62084>; thanks to Sergei
    Trofimovich for the report.  Also fixes
    <https://savannah.gnu.org/bugs/?62297>; thanks to Bjarni Ingi Gislason
    for the report.
    
    Tested with the following script.
    
            #!/bin/sh
    
            set -e
    
            test -d build
            cd build
    
            for file in \
                contrib/hdtbl/examples/chess_board.ps \
                contrib/hdtbl/examples/col_rowspan_colors.ps \
                contrib/hdtbl/examples/color_boxes.ps \
                contrib/hdtbl/examples/color_nested_tables.ps \
                contrib/hdtbl/examples/color_table_cells.ps \
                contrib/hdtbl/examples/color_transitions.ps \
                contrib/hdtbl/examples/fonts_n.ps \
                contrib/hdtbl/examples/fonts_x.ps \
                contrib/hdtbl/examples/mixed_pickles.ps \
                contrib/hdtbl/examples/rainbow.ps \
                contrib/hdtbl/examples/short_reference.ps \
                contrib/mom/examples/copyright-chapter.pdf \
                contrib/mom/examples/copyright-default.pdf \
                contrib/mom/examples/letter.pdf \
                contrib/mom/examples/mom-pdf.pdf \
                contrib/mom/examples/mon_premier_doc.pdf \
                contrib/mom/examples/sample_docs.pdf \
                contrib/mom/examples/slide-demo.pdf \
                contrib/mom/examples/typesetting.pdf \
                contrib/sboxes/msboxes.pdf \
                doc/automake.pdf \
                doc/grnexmpl.ps \
                doc/groff-man-pages.pdf \
                doc/groff-man-pages.utf8.txt \
                doc/meintro.ps \
                doc/meintro_fr.ps \
                doc/meref.ps \
                doc/ms.ps \
                doc/pic.html \
                doc/pic.ps \
                doc/webpage.ps
            do
                make -j clean
                make -j "$file"
            done
---
 .gitignore               |  1 -
 ChangeLog                | 72 ++++++++++++++++++++++++++++++++++++++++++++
 contrib/hdtbl/ChangeLog  |  6 ++++
 contrib/hdtbl/hdtbl.am   |  2 +-
 contrib/mom/ChangeLog    |  5 ++++
 contrib/mom/mom.am       |  3 +-
 contrib/sboxes/ChangeLog |  5 ++++
 contrib/sboxes/sboxes.am |  3 +-
 doc/.gitignore           |  1 -
 doc/doc.am               | 78 ++++++++++++++++++++++++++----------------------
 font/devhtml/devhtml.am  |  7 +++++
 font/devpdf/devpdf.am    | 10 +++----
 font/devps/devps.am      |  8 +++++
 font/devutf8/devutf8.am  |  7 +++++
 14 files changed, 159 insertions(+), 49 deletions(-)

diff --git a/.gitignore b/.gitignore
index 98e2397b..1aaa41ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,7 +36,6 @@ stamp-*
 /defs.h
 /eqn
 /eqn2graph
-/font/devpdf/build_font_files
 /font/devpdf/download
 /font/devpdf/enc/
 /font/devpdf/map/
diff --git a/ChangeLog b/ChangeLog
index 07acccc8..f92ed9fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,75 @@
+2022-05-01  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       [build]: Reduce and rationalize in-tree document dependencies.
+       This eliminates spurious rebuilds of numerous documents
+       {including the 380+-page groff-man-pages collections}.  It also
+       fixes missing dependencies when using the build's groff to
+       generate PostScript documents.
+
+       * .gitignore: Drop old name of devpdf stamp file.
+       * doc/.gitignore: Drop now-unused "example.stamp" file.
+       * doc/doc.am (PROCESSEDDOCFILES_HTML, PROCESSEDDOCFILES_PDF,
+       PROCESSEDDOCFILES_TXT): Add new macros grouping targets by the
+       format/output driver used to produce them, to better organize
+       dependencies for their generation.
+       (PROCESSEDDOCFILES): Redefine as simply the expansions of the
+       foregeoing.
+       (PROCESSEDFILES_DEPS_HTML, PROCESSEDFILES_DEPS_HTML,
+       PROCESSEDFILES_DEPS_PDF, PROCESSEDFILES_DEPS_TXT): Add new
+       macros defining prerequisites for production of the
+       corresponding output document formats.
+       ($(PROCESSEDDOCFILES_HTML), $(PROCESSEDDOCFILES_PDF),
+       $(PROCESSEDDOCFILES_PS), $(PROCESSEDDOCFILES_TXT)): Declare the
+       dependencies using expansions of the foregoing macros.
+       (MOSTLYCLEANFILES): Drop "doc/automake.pdf", now part of
+       `PROCESSEDDOCFILES_PDF`.
+       (doc/automake.pdf): Drop dependencies already supplied by
+       `PROCESSEDFILES_DEPS_PDF`.
+       (HTMLDOCFILES): Drop macro.  "doc/pic.html" is now in the
+       expansion of `PROCESSEDDOCFILES_HTML`.
+       (htmlpic_DATA): Redefine as expansion of
+       `PROCESSEDDOCFILES_HTML` instead of `HTMLDOCFILES`.
+       (PROCESSEDEXAMPLEFILES_HTML) [BUILD_HTML]: Define as
+       "doc/webpage.html", otherwise as empty.
+       (PROCESSEDEXAMPLEFILES_PS): Contain "doc/webpage.ps" and
+       "doc/grnexampl.ps".
+       (PROCESSEDEXAMPLEFILES): Redefine as expansions of
+       `PROCESSEDEXAMPLEFILES_HTML` and `PROCESSEDEXAMPLEFILES_PS`.
+       ($(PROCESSEDEXAMPLEFILES_HTML), $(PROCESSEDEXAMPLEFILES_PS)):
+       Declare dependencies using `PROCESSEDFILES_DEPS_HTML` and
+       `PROCESSEDFILES_DEPS_PS`, respectively.
+       (HTMLEXAMPLEFILES): Drop macro.  "doc/webpage.html" is now in
+       the expansion of `PROCESSEDDOCFILES_HTML`.
+       (nodist_htmlexamples_DATA): Drop macro, no longer needed.
+       ($(PROCESSEDDOCFILES_PS)): Relocated and redefined above.
+       ($(PROCESSEDEXAMPLEFILES) $(PROCESSEDDOCFILES)): Drop overbroad
+       dependency declarations in favor of the above.
+       (MOSTLYCLEANFILES, doc/examples.stamp): Drop generation and
+       removal of unnecessary stamp file.
+       (doc/pic.html, doc/webpage.html): Add explicit dependency on
+       required preprocessors.  Drop redundant and spurious
+       dependencies.
+       * font/devhtml/devhtml.am (MOSTLYCLEANFILES,
+       font/devhtml/stamp): Generate and remove stamp file to enable
+       reliable target dependencies for build-time generation of HTML
+       documents by groff.
+       * font/devpdf/devpdf.am (MOSTLYCLEANFILES, font/devpdf/stamp):
+       Rename stamp file from "font/devpdf/build_font_files".
+       (font/devpdf/stamp): Drop unnecessary dependency on "afmtodit".
+       * font/devps/devps.am (MOSTLYCLEANFILES, font/devps/stamp):
+       Generate and remove stamp file to enable reliable target
+       dependencies for build-time generation of PostScript documents
+       by groff.
+       * font/devutf8/devutf8.am (MOSTLYCLEANFILES,
+       font/devutf8/stamp): Generate and remove stamp file to enable
+       reliable target dependencies for build-time generation of
+       UTF-8-encoded text documents by groff.
+
+       Fixes <https://savannah.gnu.org/bugs/?62084>; thanks to
+       Sergei Trofimovich for the report.  Also fixes
+       <https://savannah.gnu.org/bugs/?62297>; thanks to Bjarni Ingi
+       Gislason for the report.
+
 2022-04-30  G. Branden Robinson <g.branden.robinson@gmail.com>
 
        [build]: Fix code style nits in Automake files.
diff --git a/contrib/hdtbl/ChangeLog b/contrib/hdtbl/ChangeLog
index a66ef761..a7618c21 100644
--- a/contrib/hdtbl/ChangeLog
+++ b/contrib/hdtbl/ChangeLog
@@ -1,3 +1,9 @@
+2022-05-01  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       * hdtbl.am (HDTBLPROCESSEDEXAMPLEFILES): Add dependency on devps
+       stamp file since the files' target rule generates PostScript
+       with groff.
+
 2022-04-12  Ingo Schwarze <schwarze@openbsd.org>
 
        Delete the harmful, ill-designed, buggy, and essentially
diff --git a/contrib/hdtbl/hdtbl.am b/contrib/hdtbl/hdtbl.am
index 19af0ea2..163ebe5f 100644
--- a/contrib/hdtbl/hdtbl.am
+++ b/contrib/hdtbl/hdtbl.am
@@ -120,7 +120,7 @@ SUFFIXES += .roff .in .ps
 
 
 $(HDTBLPROCESSEDEXAMPLEFILES): $(DOC_GNU_EPS) groff troff eqn pic tbl \
-  contrib/hdtbl/examples/common.roff
+  font/devps/stamp contrib/hdtbl/examples/common.roff
 
 uninstall_groffdirs: uninstall-hdtbl-hook
 uninstall-hdtbl-hook:
diff --git a/contrib/mom/ChangeLog b/contrib/mom/ChangeLog
index 3750bf75..4fe6387f 100644
--- a/contrib/mom/ChangeLog
+++ b/contrib/mom/ChangeLog
@@ -1,3 +1,8 @@
+2022-05-01  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       * mom.am ($(MOMPROCESSEDEXAMPLEFILES)): Depend on new name for
+       devpdf stamp file.
+
 2022-04-12  Ingo Schwarze <schwarze@openbsd.org>
 
        Delete the harmful, ill-designed, buggy, and essentially
diff --git a/contrib/mom/mom.am b/contrib/mom/mom.am
index 0689df8c..eddc17d5 100644
--- a/contrib/mom/mom.am
+++ b/contrib/mom/mom.am
@@ -143,8 +143,7 @@ SUFFIXES += .mom .pdf
        && LC_ALL=C $(MOMPDFMOM) $< >$@
 
 $(MOMPROCESSEDEXAMPLEFILES): $(MOMNORMALFILES) \
-  groff troff gropdf pdfmom penguin.ps penguin.pdf \
-  font/devpdf/build_font_files
+  groff troff gropdf pdfmom penguin.ps penguin.pdf font/devpdf/stamp
 
 penguin.ps:
        $(AM_V_at)cp $(mom_srcdir)/examples/penguin.ps $@
diff --git a/contrib/sboxes/ChangeLog b/contrib/sboxes/ChangeLog
index 3bb9664b..198f7c77 100644
--- a/contrib/sboxes/ChangeLog
+++ b/contrib/sboxes/ChangeLog
@@ -1,3 +1,8 @@
+2022-05-01  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       * sboxes.am ($(sboxes_builddir)/msboxes.pdf): Depend on new name
+       for devpdf stamp file.
+
 2022-04-03  Ingo Schwarze <schwarze@openbsd.org>
 
        * sboxes.am: msboxes.ms is documentation, not merely an example.
diff --git a/contrib/sboxes/sboxes.am b/contrib/sboxes/sboxes.am
index 8f148432..3c202fe1 100644
--- a/contrib/sboxes/sboxes.am
+++ b/contrib/sboxes/sboxes.am
@@ -54,8 +54,7 @@ $(sboxes_builddir)/msboxes.ms: $(SBOXES_EXAMPLEFILES) 
$(sboxesnotquine)
        $(AM_V_GEN)mv $@.tmp $@
 
 $(sboxes_builddir)/msboxes.pdf: $(sboxes_builddir)/msboxes.ms \
-  $(dist_sboxestmac_DATA) groff troff gropdf \
-  font/devpdf/build_font_files
+  $(dist_sboxestmac_DATA) groff troff gropdf font/devpdf/stamp
        $(GROFF_V)$(DOC_GROFF) -M$(sboxes_srcdir) -ms -msboxes -Tpdf \
          $(sboxes_builddir)/msboxes.ms > $@
 
diff --git a/doc/.gitignore b/doc/.gitignore
index cb19f04e..6c568194 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -1,5 +1,4 @@
 Makefile
-examples.stamp
 gendocs_template
 gnu.eps
 grnexmpl.g
diff --git a/doc/doc.am b/doc/doc.am
index 8f064c1b..d017774f 100644
--- a/doc/doc.am
+++ b/doc/doc.am
@@ -58,15 +58,36 @@ GENERATEDDOCFILES = \
   doc/meintro_fr.me \
   doc/meref.me
 # Files generated in the build tree
+PROCESSEDDOCFILES_HTML = \
+  doc/pic.html
+PROCESSEDDOCFILES_PDF = \
+  doc/automake.pdf \
+  doc/groff-man-pages.pdf
 PROCESSEDDOCFILES_PS = \
   doc/meref.ps \
   doc/meintro.ps \
   doc/meintro_fr.ps \
   doc/ms.ps \
   doc/pic.ps
-PROCESSEDDOCFILES = $(PROCESSEDDOCFILES_PS) \
-  doc/groff-man-pages.pdf \
+PROCESSEDDOCFILES_TXT = \
   doc/groff-man-pages.utf8.txt
+PROCESSEDDOCFILES = \
+  $(PROCESSEDDOCFILES_HTML) \
+  $(PROCESSEDDOCFILES_PS) \
+  $(PROCESSEDDOCFILES_PDF) \
+  $(PROCESSEDDOCFILES_TXT)
+
+# Declare minimal dependencies for documents by output driver.
+PROCESSEDFILES_DEPS_HTML = pre-grohtml groff troff post-grohtml \
+  font/devhtml/stamp font/devps/stamp
+PROCESSEDFILES_DEPS_PS = groff troff grops font/devps/stamp
+PROCESSEDFILES_DEPS_PDF = groff troff gropdf font/devpdf/stamp
+PROCESSEDFILES_DEPS_TXT = groff troff grotty font/devutf8/stamp
+
+$(PROCESSEDDOCFILES_HTML): $(PROCESSEDFILES_DEPS_HTML)
+$(PROCESSEDDOCFILES_PS): $(PROCESSEDFILES_DEPS_PS)
+$(PROCESSEDDOCFILES_PDF): $(PROCESSEDFILES_DEPS_PDF)
+$(PROCESSEDDOCFILES_TXT): $(PROCESSEDFILES_DEPS_TXT)
 
 otherdocdir = $(docdir)
 dist_otherdoc_DATA = $(DOCFILES_INST) $(GENERATEDDOCFILES)
@@ -80,19 +101,14 @@ EXTRA_DIST += doc/automake.mom
 if BUILD_PDFDOC
 docpdfdocdir = $(pdfdocdir)
 nodist_docpdfdoc_DATA = doc/automake.pdf
-MOSTLYCLEANFILES += doc/automake.pdf
 endif
-doc/automake.pdf: doc/automake.mom \
-  groff troff gropdf pdfmom font/devpdf/build_font_files \
-  contrib/mom/om.tmac
+doc/automake.pdf: doc/automake.mom pdfmom contrib/mom/om.tmac
 
 # GNU PIC html documentation, installed in $(htmldocdir)
 # Other pic*.html files are installed by the local rule
 if BUILD_HTML
-HTMLDOCFILES = \
-  doc/pic.html
 htmlpicdir = $(htmldocdir)
-htmlpic_DATA = $(HTMLDOCFILES)
+htmlpic_DATA = $(PROCESSEDDOCFILES_HTML)
 HTMLDOCFILESALL = pic*.html
 HTMLDOCIMAGEFILES = pic*
 endif
@@ -107,9 +123,21 @@ EXAMPLEFILES = \
   doc/grnexmpl.me
 
 # Generated in the build tree
-PROCESSEDEXAMPLEFILES = \
+if BUILD_HTML
+PROCESSEDEXAMPLEFILES_HTML = doc/webpage.html
+else
+PROCESSEDEXAMPLEFILES_HTML =
+endif
+PROCESSEDEXAMPLEFILES_PS = \
   doc/webpage.ps \
   doc/grnexmpl.ps
+PROCESSEDEXAMPLEFILES = \
+  $(PROCESSEDEXAMPLEFILES_HTML) \
+  $(PROCESSEDEXAMPLEFILES_PS)
+
+$(PROCESSEDEXAMPLEFILES_HTML): $(PROCESSEDFILES_DEPS_HTML)
+$(PROCESSEDEXAMPLEFILES_PS): $(PROCESSEDFILES_DEPS_PS)
+
 docexamplesdir = $(exampledir)
 dist_docexamples_DATA = $(EXAMPLEFILES)
 nodist_docexamples_DATA = $(PROCESSEDEXAMPLEFILES)
@@ -118,11 +146,9 @@ MOSTLYCLEANFILES += $(PROCESSEDEXAMPLEFILES)
 if BUILD_HTML
 # webpage.html is generated; webpage*.html files are installed by the
 # local rule.
-HTMLEXAMPLEFILES = doc/webpage.html
 HTMLEXAMPLEFILESALL = webpage*.html
 HTMLEXAMPLEIMAGEFILES = webpage*
 htmlexamplesdir = $(exampledir)
-nodist_htmlexamples_DATA = $(HTMLEXAMPLEFILES)
 endif
 
 # Locate image subdirectory for HTML documents relative to an
@@ -235,9 +261,6 @@ doc/grnexmpl.ps: $(doc_srcdir)/grnexmpl.me 
$(doc_srcdir)/grnexmpl.g \
        $(GROFF_V)$(MKDIR_P) `dirname $@` \
        && $(DOC_GROFF) -Tps -ge -me $(doc_srcdir)/grnexmpl.me >$@
 
-$(PROCESSEDDOCFILES_PS): \
-  $(dist_devpsfont_DATA) $(nodist_devpsfont_DATA)
-
 # Generating *.me from *.me.in is, surprisingly, a challenge.
 # 1.  A pattern rule ("%.me: %.me.in") is not portable to NetBSD or
 #     OpenBSD make.
@@ -318,35 +341,18 @@ doc/webpage.ps: $(doc_srcdir)/webpage.ms
 #      $(GROFF_V)$(MKDIR_P) `dirname $@` \
 #      && $(DOC_GROFF) -Tps -ms $< >$@
 
-$(PROCESSEDEXAMPLEFILES) $(PROCESSEDDOCFILES): \
-  $(bin_PROGRAMS) \
-  $(prefixexecbin_PROGRAMS) \
-  $(dist_tmac_DATA) $(nodist_tmac_DATA)
-
-MOSTLYCLEANFILES += doc/examples.stamp
-doc/examples.stamp: doc/groff.css
-       $(AM_V_at)$(MKDIR_P) $(doc_builddir)
-       $(AM_V_at)test -f $(doc_builddir)/groff.css || \
-         cp $(doc_srcdir)/groff.css $(doc_builddir)
-       $(AM_V_at)echo timestamp > $@
-
+doc/pic.html: eqn pic tbl
 doc/pic.html: tmac/www.tmac
-doc/pic.html: $(bin_PROGRAMS) $(prefixexecbin_PROGRAMS)
-doc/pic.html: doc/examples.stamp
-doc/pic.html: $(dist_devpsfont_DATA) $(nodist_devpsfont_DATA)
-doc/pic.html: $(devhtmlfont_DATA)
 doc/pic.html: $(doc_srcdir)/pic.ms
        $(GROFF_V)$(MKDIR_P) $(doc_builddir) \
        && cd $(doc_builddir) \
        && $(DOC_GROFF) -pet -P-Ipic -P-Dimg -P-jpic -Thtml -ms \
          $(doc_srcdir)/pic.ms > pic.html
 
+doc/webpage.html: tbl
 doc/webpage.html: tmac/www.tmac
-doc/webpage.html: $(bin_PROGRAMS) $(prefixexecbin_PROGRAMS)
-doc/webpage.html: doc/examples.stamp
-doc/webpage.html: $(dist_devpsfont_DATA) $(nodist_devpsfont_DATA)
-doc/webpage.html: $(devhtmlfont_DATA)
-doc/webpage.html: $(DOC_GNU_EPS) $(doc_srcdir)/groff.css
+doc/webpage.html: $(DOC_GNU_EPS)
+doc/webpage.html: $(doc_srcdir)/groff.css
 doc/webpage.html: $(doc_srcdir)/webpage.ms
        $(GROFF_V)$(MKDIR_P) $(doc_builddir) \
        && cd $(doc_builddir) \
diff --git a/font/devhtml/devhtml.am b/font/devhtml/devhtml.am
index 49194ddb..76f32326 100644
--- a/font/devhtml/devhtml.am
+++ b/font/devhtml/devhtml.am
@@ -54,6 +54,13 @@ font/devhtml/DESC: $(devhtml_srcdir)/DESC.proto
        && echo "image_generator $(GHOSTSCRIPT)" >>$@.tmp \
        && mv $@.tmp $@
 
+# HTML documents to be produced by troff should depend on this stamp
+# file to ensure that (post-)grohtml's device and font description files
+# are available.
+MOSTLYCLEANFILES += font/devhtml/stamp
+font/devhtml/stamp: font/devhtml/DESC $(DEVHTMLFONTSFILES)
+       $(AM_V_at)>$@
+
 
 # Local Variables:
 # mode: makefile-automake
diff --git a/font/devpdf/devpdf.am b/font/devpdf/devpdf.am
index e1bce488..3813ed36 100644
--- a/font/devpdf/devpdf.am
+++ b/font/devpdf/devpdf.am
@@ -28,7 +28,6 @@ MOSTLYCLEANFILES += \
   font/devpdf/download \
   font/devpdf/DESC \
   font/devpdf/Foundry \
-  font/devpdf/build_font_files \
   font/devpdf/util/BuildFoundries
 
 devpdffontdir = $(fontdir)/devpdf
@@ -106,11 +105,10 @@ font/devpdf/Foundry:
        && sed "s|[@]urwfontsdir[@]|$(urwfontsdir)|" \
               $(devpdf_srcdir)/Foundry.in >$(top_builddir)/$@
 
-all: font/devpdf/build_font_files
-
-# PATH: path to find afmtodit. We add $(abs_top_builddir) because
-# afmtodit is built in the top builddir.
-font/devpdf/build_font_files: afmtodit font/devpdf/DESC \
+# PDFs to be produced by troff should depend on this stamp file to
+# ensure that gropdf's device and font description files are available.
+MOSTLYCLEANFILES += font/devpdf/stamp
+font/devpdf/stamp: font/devpdf/DESC \
   $(devpdffontenc_DATA) $(devpdffontmap_DATA) $(devpdffont_DATA) \
   font/devpdf/util/BuildFoundries
        @if $(AM_V_P); then \
diff --git a/font/devps/devps.am b/font/devps/devps.am
index dbeafba3..6e59572a 100644
--- a/font/devps/devps.am
+++ b/font/devps/devps.am
@@ -151,6 +151,14 @@ font/devps/DESC: $(devps_srcdir)/DESC.in
            || echo print '$(PSPRINT)' >>$@.tmp)
        $(AM_V_at)mv $@.tmp $@
 
+# PostScript documents to be produced by troff should depend on this
+# stamp file to ensure that grops's device and font description files
+# are available.
+MOSTLYCLEANFILES += font/devps/stamp
+font/devps/stamp: font/devps/DESC \
+  $(DEVPSFONTFILES) $(DEVPSFONTFILES_GENERATED)
+       $(AM_V_at)>$@
+
 maintainer-font-descriptions: devps_font-descriptions
 # This target generates font descriptions from installed Type 1 AFM
 # files; these are _not_ normally generated during a build, but provided
diff --git a/font/devutf8/devutf8.am b/font/devutf8/devutf8.am
index 9732a82a..b8f642f0 100644
--- a/font/devutf8/devutf8.am
+++ b/font/devutf8/devutf8.am
@@ -44,6 +44,13 @@ font/devutf8/DESC: $(devutf8_srcdir)/DESC.proto
        && $(SHELL) $(GENDESCSH) $(devutf8_srcdir)/DESC.proto \
          $(DEVUTF8RES) $(DEVUTF8CPI) $(DEVUTF8LPI) $(DEVUTF8FONTS) >$@
 
+# (UTF-8-encoded) text documents to be produced by troff should depend
+# on this stamp file to ensure that grotty's device and font description
+# files are available.
+MOSTLYCLEANFILES += font/devutf8/stamp
+font/devutf8/stamp: font/devutf8/DESC $(DEVUTF8FONTSFILES)
+       $(AM_V_at)>$@
+
 
 # Local Variables:
 # mode: makefile-automake



reply via email to

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