From 5eec56e1d573a265d99ee76504eb917d0c2aa7a1 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Mon, 14 Apr 2003 19:59:30 +0000 Subject: [PATCH] 2003-03-14 Richard Dawe Alexandre Duret-Lutz * automake.in (output_texinfo_build_rules, handle_texinfo_helper, initialize_per_input): Add infrastructure for generating HTML documentation from texinfo source. * lib/am/texinfos.am: Add rules for building HTML documentation from texinfo source. * lib/am/texibuild.am: Likewise. * automake.texi (Texinfo): Document rules for building HTML documentation from texinfo source. * tests/txinfo21.test: New file. * tests/Makefile.am (TESTS): Add txinfo21.test. * tests/defs.in: Handle required=makeinfo-html. --- ChangeLog | 15 +++++++ Makefile.in | 52 ++++++++++++--------- NEWS | 21 ++++++++- automake.in | 9 +++- automake.texi | 18 ++++---- lib/Automake/Makefile.in | 35 ++++++++------- lib/Automake/tests/Makefile.in | 16 ++++--- lib/Makefile.in | 15 ++++--- lib/am/Makefile.in | 17 ++++--- lib/am/texibuild.am | 7 +++ lib/am/texinfos.am | 11 ++++- m4/Makefile.in | 13 +++--- tests/Makefile.am | 1 + tests/Makefile.in | 15 ++++--- tests/defs.in | 5 +++ tests/txinfo21.test | 82 ++++++++++++++++++++++++++++++++++ 16 files changed, 251 insertions(+), 81 deletions(-) create mode 100755 tests/txinfo21.test diff --git a/ChangeLog b/ChangeLog index 0ed1cecd7..ca9ca86a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2003-03-14 Richard Dawe + Alexandre Duret-Lutz + + * automake.in (output_texinfo_build_rules, handle_texinfo_helper, + initialize_per_input): Add infrastructure for generating HTML + documentation from texinfo source. + * lib/am/texinfos.am: Add rules for building HTML documentation + from texinfo source. + * lib/am/texibuild.am: Likewise. + * automake.texi (Texinfo): Document rules for building + HTML documentation from texinfo source. + * tests/txinfo21.test: New file. + * tests/Makefile.am (TESTS): Add txinfo21.test. + * tests/defs.in: Handle required=makeinfo-html. + 2003-04-14 Alexandre Duret-Lutz * automake.in (%silent_variable_override): New variable. diff --git a/Makefile.in b/Makefile.in index 588a5c9d1..439f2914f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -55,15 +55,16 @@ INFO_DEPS = automake.info DVIS = automake.dvi PDFS = automake.pdf PSS = automake.ps +HTMLS = automake.html TEXINFOS = automake.texi TEXI2DVI = texi2dvi TEXI2PDF = $(TEXI2DVI) --pdf --batch DVIPS = dvips RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive + ps-recursive html-recursive install-info-recursive \ + uninstall-info-recursive all-recursive install-data-recursive \ + install-exec-recursive installdirs-recursive install-recursive \ + uninstall-recursive check-recursive installcheck-recursive ETAGS = etags ETAGSFLAGS = CTAGS = ctags @@ -176,7 +177,7 @@ texinfo.tex all: all-recursive .SUFFIXES: -.SUFFIXES: .dvi .info .pdf .ps .texi +.SUFFIXES: .dvi .html .info .pdf .ps .texi am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno @@ -242,9 +243,14 @@ uninstall-binSCRIPTS: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2PDF) $< + +.texi.html: + $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) --html -I $(srcdir) \ + -o $@ $< automake.info: automake.texi version.texi automake.dvi: automake.texi version.texi automake.pdf: automake.texi version.texi +automake.html: automake.texi version.texi version.texi: stamp-vti stamp-vti: automake.texi $(top_srcdir)/configure @(dir=.; test -f ./automake.texi || dir=$(srcdir); \ @@ -306,11 +312,12 @@ dist-info: $(INFO_DEPS) done mostlyclean-aminfo: - -rm -f automake.aux automake.cm automake.cp automake.cps automake.cv \ + -rm -rf automake.aux automake.cm automake.cp automake.cps automake.cv \ automake.fn automake.ky automake.kys automake.log automake.op \ automake.ov automake.pg automake.pgs automake.tmp \ automake.toc automake.tp automake.tps automake.tr automake.vr \ - automake.vrs automake.dvi automake.pdf automake.ps + automake.vrs automake.dvi automake.pdf automake.ps \ + automake.html maintainer-clean-aminfo: @list='$(INFO_DEPS)'; for i in $$list; do \ @@ -620,6 +627,10 @@ dvi: dvi-recursive dvi-am: $(DVIS) +html: html-recursive + +html-am: $(HTMLS) + info: info-recursive info-am: $(INFO_DEPS) @@ -691,19 +702,20 @@ uninstall-info: uninstall-info-recursive dist-all dist-bzip2 dist-gzip dist-info distcheck distclean \ distclean-generic distclean-recursive distclean-tags \ distcleancheck distdir distuninstallcheck dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-binSCRIPTS install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-aminfo maintainer-clean-generic \ - maintainer-clean-recursive maintainer-clean-vti mostlyclean \ - mostlyclean-aminfo mostlyclean-generic mostlyclean-recursive \ - mostlyclean-vti pdf pdf-am pdf-recursive ps ps-am ps-recursive \ - tags tags-recursive uninstall uninstall-am uninstall-binSCRIPTS \ - uninstall-info-am uninstall-info-recursive uninstall-recursive + dvi-recursive html html-am html-recursive info info-am \ + info-recursive install install-am install-binSCRIPTS \ + install-data install-data-am install-data-recursive \ + install-exec install-exec-am install-exec-recursive \ + install-info install-info-am install-info-recursive install-man \ + install-recursive install-strip installcheck installcheck-am \ + installdirs installdirs-am installdirs-recursive \ + maintainer-clean maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-recursive \ + maintainer-clean-vti mostlyclean mostlyclean-aminfo \ + mostlyclean-generic mostlyclean-recursive mostlyclean-vti pdf \ + pdf-am pdf-recursive ps ps-am ps-recursive tags tags-recursive \ + uninstall uninstall-am uninstall-binSCRIPTS uninstall-info-am \ + uninstall-info-recursive uninstall-recursive install-exec-hook: diff --git a/NEWS b/NEWS index 044a36e21..77a989d17 100644 --- a/NEWS +++ b/NEWS @@ -57,8 +57,6 @@ New in 1.7a: versions of Automake, because AC_PROG_CC defines this variable since Autoconf 2.54.) -* Texinfo rules back up and restore info files when makeinfo fails. - * AR's `cru' flags are now set in a global ARFLAGS variable instead of being hard-coded in each $(AR) invocation, so they can be substituted from configure.ac. This has been requested by people @@ -66,6 +64,25 @@ New in 1.7a: * New warning option: -Woverride. This will warn about any user target or variable definitions which override Automake definitions. + +* Texinfo rules back up and restore info files when makeinfo fails. + +* Texinfo rules now support the `html' target. + Running this requires Texinfo 4.0 or greater. + + `html' is a new recursive target, so if your package mixes + hand-crafted `Makefile.in's with Automake-generated `Makefile.in's, + you should adjust the former to support (or ignore) this target so + that `make html' recurses successfully. If you had a custom `html' + rule in your `Makefile.am', it's better to rename it as `html-local', + otherwise your rule will override Automake's new rule (you can check + that by running `automake -Woverride') and that will stop the recursion + to subdirectories. + + Last but not least, this `html' rule is declared PHONY, even when + overridden. Fortunately, it appears that few packages use a + non-PHONY `html' rule. + New in 1.7: * Autoconf 2.54 is required. diff --git a/automake.in b/automake.in index c8fe09fed..32d798cc6 100755 --- a/automake.in +++ b/automake.in @@ -780,6 +780,8 @@ sub initialize_per_input () 'ps-am' => [], 'info' => [], 'info-am' => [], + 'html' => [], + 'html-am' => [], # Installing/uninstalling. 'install-data-am' => [], @@ -3696,7 +3698,7 @@ sub output_texinfo_build_rules ($$@) MAKEINFOFLAGS => $makeinfoflags, DEPS => "@deps", DIRSTAMP => $dirstamp); - return ($dirstamp, "$dpfx.dvi", "$dpfx.pdf", "$dpfx.ps"); + return ($dirstamp, "$dpfx.dvi", "$dpfx.pdf", "$dpfx.ps", "$dpfx.html"); } @@ -3713,7 +3715,8 @@ sub handle_texinfo_helper my @texis = &variable_value_as_list_recursive ('info_TEXINFOS', 'all'); - my (@info_deps_list, @dvis_list, @pdfs_list, @pss_list, @texi_deps); + my (@info_deps_list, @texi_deps); + my (@dvis_list, @pdfs_list, @pss_list, @htmls_list); my %versions; my $done = 0; my @texi_cleans; @@ -3766,6 +3769,7 @@ sub handle_texinfo_helper push (@dvis_list, $infobase . '.dvi'); push (@pdfs_list, $infobase . '.pdf'); push (@pss_list, $infobase . '.ps'); + push (@htmls_list, $infobase . '.html'); # If a vers*.texi file is needed, emit the rule. if ($vtexi) @@ -3859,6 +3863,7 @@ sub handle_texinfo_helper &define_variable ("DVIS", "@dvis_list", INTERNAL); &define_variable ("PDFS", "@pdfs_list", INTERNAL); &define_variable ("PSS", "@pss_list", INTERNAL); + &define_variable ("HTMLS", "@htmls_list", INTERNAL); # This next isn't strictly needed now -- the places that look here # could easily be changed to look in info_TEXINFOS. But this is # probably better, in case noinst_TEXINFOS is ever supported. diff --git a/automake.texi b/automake.texi index afc24e4a6..2d8c7963d 100644 --- a/automake.texi +++ b/automake.texi @@ -4020,11 +4020,11 @@ for new manuals. @vindex info_TEXINFOS Automake generates rules to build @file{.info}, @file{.dvi}, @file{.ps}, -and @file{.pdf} files from your Texinfo sources. The @file{.info} files -are built by @code{make all} and installed by @code{make install} -(unless you use @code{no-installinfo}, see below). The other files can -be built on request by @code{make dvi}, @code{make ps}, and @code{make -pdf}. +@file{.pdf} and @file{.html} files from your Texinfo sources. +The @file{.info} files are built by @code{make all} and installed +by @code{make install} (unless you use @code{no-installinfo}, see below). +The other files can be built on request by @code{make dvi}, @code{make ps}, +@code{make pdf} and @code{make html}. @cindex Texinfo flag, VERSION @cindex Texinfo flag, UPDATED @@ -5291,6 +5291,8 @@ with these user-supplied targets. @trindex ps-local @trindex pdf @trindex pdf-local +@trindex html +@trindex html-local @trindex check @trindex check-local @trindex install @@ -5311,9 +5313,9 @@ with these user-supplied targets. @trindex installcheck-local The targets that support a local version are @code{all}, @code{info}, -@code{dvi}, @code{ps}, @code{pdf}, @code{check}, @code{install-data}, -@code{install-exec}, @code{uninstall}, @code{installdirs}, -@code{installcheck} and the various @code{clean} targets +@code{dvi}, @code{ps}, @code{pdf}, @code{html}, @code{check}, +@code{install-data}, @code{install-exec}, @code{uninstall}, +@code{installdirs}, @code{installcheck} and the various @code{clean} targets (@code{mostlyclean}, @code{clean}, @code{distclean}, and @code{maintainer-clean}). Note that there are no @code{uninstall-exec-local} or @code{uninstall-data-local} targets; just diff --git a/lib/Automake/Makefile.in b/lib/Automake/Makefile.in index d6d04e4da..0a3700bf2 100644 --- a/lib/Automake/Makefile.in +++ b/lib/Automake/Makefile.in @@ -42,10 +42,10 @@ CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive + ps-recursive html-recursive install-info-recursive \ + uninstall-info-recursive all-recursive install-data-recursive \ + install-exec-recursive installdirs-recursive install-recursive \ + uninstall-recursive check-recursive installcheck-recursive am__installdirs = $(DESTDIR)$(perllibdir) dist_perllibDATA_INSTALL = $(INSTALL_DATA) DATA = $(dist_perllib_DATA) @@ -367,6 +367,8 @@ dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: @@ -404,18 +406,19 @@ uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ clean-generic clean-recursive ctags ctags-recursive distclean \ distclean-generic distclean-recursive distclean-tags distdir \ - dvi dvi-am dvi-recursive info info-am info-recursive install \ - install-am install-data install-data-am install-data-recursive \ - install-dist_perllibDATA install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-dist_perllibDATA \ - uninstall-info-am uninstall-info-recursive uninstall-recursive + dvi dvi-am dvi-recursive html html-am html-recursive info \ + info-am info-recursive install install-am install-data \ + install-data-am install-data-recursive install-dist_perllibDATA \ + install-exec install-exec-am install-exec-recursive \ + install-info install-info-am install-info-recursive install-man \ + install-recursive install-strip installcheck installcheck-am \ + installdirs installdirs-am installdirs-recursive \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \ + ps-recursive tags tags-recursive uninstall uninstall-am \ + uninstall-dist_perllibDATA uninstall-info-am \ + uninstall-info-recursive uninstall-recursive # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in index 822c08170..9aa67222e 100644 --- a/lib/Automake/tests/Makefile.in +++ b/lib/Automake/tests/Makefile.in @@ -271,6 +271,8 @@ dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: @@ -304,13 +306,13 @@ ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-TESTS check-am clean clean-generic \ - distclean distclean-generic distdir dvi dvi-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + distclean distclean-generic distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ + uninstall-am uninstall-info-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/lib/Makefile.in b/lib/Makefile.in index 0eaa3915e..784a337a0 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -46,10 +46,10 @@ CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive + ps-recursive html-recursive install-info-recursive \ + uninstall-info-recursive all-recursive install-data-recursive \ + install-exec-recursive installdirs-recursive install-recursive \ + uninstall-recursive check-recursive installcheck-recursive am__installdirs = $(DESTDIR)$(pkgvdatadir) $(DESTDIR)$(scriptdir) dist_pkgvdataDATA_INSTALL = $(INSTALL_DATA) dist_scriptDATA_INSTALL = $(INSTALL_DATA) @@ -383,6 +383,8 @@ dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: @@ -423,8 +425,9 @@ uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ clean-generic clean-recursive ctags ctags-recursive distclean \ distclean-generic distclean-recursive distclean-tags distdir \ - dvi dvi-am dvi-recursive info info-am info-recursive install \ - install-am install-data install-data-am install-data-recursive \ + dvi dvi-am dvi-recursive html html-am html-recursive info \ + info-am info-recursive install install-am install-data \ + install-data-am install-data-recursive \ install-dist_pkgvdataDATA install-dist_scriptDATA install-exec \ install-exec-am install-exec-recursive install-info \ install-info-am install-info-recursive install-man \ diff --git a/lib/am/Makefile.in b/lib/am/Makefile.in index 888b4d14d..e1c26674e 100644 --- a/lib/am/Makefile.in +++ b/lib/am/Makefile.in @@ -222,6 +222,8 @@ dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: @@ -255,13 +257,14 @@ ps-am: uninstall-am: uninstall-dist_amDATA uninstall-info-am .PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-dist_amDATA \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-dist_amDATA uninstall-info-am + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-dist_amDATA install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am uninstall uninstall-am uninstall-dist_amDATA \ + uninstall-info-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am index 02d9878ae..c2ee9a9b5 100644 --- a/lib/am/texibuild.am +++ b/lib/am/texibuild.am @@ -73,6 +73,12 @@ ?GENERIC? $(TEXI2PDF) %SOURCE% ?!GENERIC? $(TEXI2PDF) -o $@ `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% +?GENERIC?%SOURCE_SUFFIX%.html: +?!GENERIC?%DEST_PREFIX%.html: %SOURCE% %DEPS% %DIRSTAMP% + $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) --html %MAKEINFOFLAGS% \ +?GENERIC? -o $@ %SOURCE% +?!GENERIC? -o $@ `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% + ## If we are using the generic rules, we need separate dependencies. ## (Don't wonder about %DIRSTAMP% here, this is used only by non-generic ## rules.) @@ -82,4 +88,5 @@ endif %?GENERIC_INFO% if %?GENERIC% %DEST_PREFIX%.dvi: %SOURCE_REAL% %DEPS% %DEST_PREFIX%.pdf: %SOURCE_REAL% %DEPS% +%DEST_PREFIX%.html: %SOURCE_REAL% %DEPS% endif %?GENERIC% diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am index de1e9fc83..bf1662606 100644 --- a/lib/am/texinfos.am +++ b/lib/am/texinfos.am @@ -58,18 +58,21 @@ DVIPS = dvips $(DVIPS) -o $@ $< endif %?LOCAL-TEXIS% -.PHONY: info info-am dvi dvi-am pdf pdf-am +.PHONY: info info-am dvi dvi-am pdf pdf-am html html-am if %?SUBDIRS% RECURSIVE_TARGETS += info-recursive dvi-recursive pdf-recursive ps-recursive +RECURSIVE_TARGETS += html-recursive .PHONY info: info-recursive .PHONY dvi: dvi-recursive .PHONY pdf: pdf-recursive .PHONY ps: ps-recursive +.PHONY html: html-recursive else !%?SUBDIRS% info: info-am dvi: dvi-am pdf: pdf-am ps: ps-am +html: html-am endif !%?SUBDIRS% if %?LOCAL-TEXIS% @@ -77,11 +80,13 @@ info-am: $(INFO_DEPS) dvi-am: $(DVIS) pdf-am: $(PDFS) ps-am: $(PSS) +html-am: $(HTMLS) else ! %?LOCAL-TEXIS% info-am: dvi-am: pdf-am: ps-am: +html-am: endif ! %?LOCAL-TEXIS% @@ -241,7 +246,9 @@ if %?LOCAL-TEXIS% .PHONY: mostlyclean-aminfo mostlyclean-am: mostlyclean-aminfo mostlyclean-aminfo: - -rm -f %TEXICLEAN% +## Use `-rf', not just `-f', because %TEXICLEAN% also contains +## any directory created by `makeinfo --html'. + -rm -rf %TEXICLEAN% .PHONY: maintainer-clean-aminfo maintainer-clean-am: maintainer-clean-aminfo diff --git a/m4/Makefile.in b/m4/Makefile.in index 08e4eb2f9..360f8a038 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -270,6 +270,8 @@ dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: @@ -304,11 +306,12 @@ uninstall-am: uninstall-dist_m4dataDATA uninstall-info-am \ uninstall-nodist_m4dataDATA .PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-dist_m4dataDATA \ - install-exec install-exec-am install-info install-info-am \ - install-man install-nodist_m4dataDATA install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-dist_m4dataDATA install-exec install-exec-am \ + install-info install-info-am install-man \ + install-nodist_m4dataDATA install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am \ uninstall-dist_m4dataDATA uninstall-info-am \ diff --git a/tests/Makefile.am b/tests/Makefile.am index 26865e012..fe99435f2 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -430,6 +430,7 @@ txinfo17.test \ txinfo18.test \ txinfo19.test \ txinfo20.test \ +txinfo21.test \ transform.test \ unused.test \ vars.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index ef296f6c7..159fb468e 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -533,6 +533,7 @@ txinfo17.test \ txinfo18.test \ txinfo19.test \ txinfo20.test \ +txinfo21.test \ transform.test \ unused.test \ vars.test \ @@ -730,6 +731,8 @@ dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: @@ -764,12 +767,12 @@ uninstall-am: uninstall-info-am .PHONY: all all-am check check-TESTS check-am clean clean-generic \ distclean distclean-generic distclean-local distdir dvi dvi-am \ - info info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-info-am + html html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am uninstall uninstall-am uninstall-info-am distclean-local: diff --git a/tests/defs.in b/tests/defs.in index 83b401688..e0b7ad107 100644 --- a/tests/defs.in +++ b/tests/defs.in @@ -106,6 +106,11 @@ then echo "$me: running makedepend -f-" ( makedepend -f- ) || exit 77 ;; + makeinfo-html) + # Make sure makeinfo understands --html. + echo "$me: running makeinfo --html --version" + ( makeinfo --html --version ) || exit 77 + ;; non-root) # Skip this test case if the user is root. # We try to append to a read-only file to detect this. diff --git a/tests/txinfo21.test b/tests/txinfo21.test new file mode 100755 index 000000000..9c2b957f0 --- /dev/null +++ b/tests/txinfo21.test @@ -0,0 +1,82 @@ +#! /bin/sh +# Copyright (C) 2003 Free Software Foundation, Inc. +# +# This file is part of GNU Automake. +# +# GNU Automake is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GNU Automake is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Automake; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Test support for building HTML documentation. + +required='makeinfo-html tex' +. ./defs || exit 1 + +set -e + +cat >>configure.in < Makefile.am << 'END' +SUBDIRS = rec +info_TEXINFOS = main.texi sub/main.texi +END + +cat > main.texi << 'END' +\input texinfo +@setfilename main.info +@settitle main +@node Top +Hello walls. +@bye +END + +mkdir sub +mkdir rec +cp main.texi sub/main.texi +cp main.texi rec/main.texi + +cat > rec/Makefile.am << 'END' +info_TEXINFOS = main.texi +END + +$ACLOCAL +$AUTOMAKE --add-missing +$AUTOCONF + +./configure + +$MAKE + +# Test production of split-per-node HTML. +$MAKE html +test -d main.html +test -d sub/main.html +test -d rec/main.html +$MAKE clean +test ! -d main.html +test ! -d sub/main.html +test ! -d rec/main.html + +# Test production of a single HTML file. +MAKEINFOFLAGS=--no-split $MAKE -e html +test -f main.html +test -f sub/main.html +test -f rec/main.html +$MAKE clean +test ! -f main.html +test ! -f sub/main.html +test ! -f rec/main.html -- 2.47.2