summaryrefslogtreecommitdiff
path: root/Build/source/doc/Makefile.am
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-05-20 17:30:45 +0000
committerKarl Berry <karl@freefriends.org>2014-05-20 17:30:45 +0000
commitc4cfb7ada2f8324071e5dc4af4578cf73fc20b53 (patch)
tree4afa32ce80cb8bb01726d9b3e0f6b27db94fcda3 /Build/source/doc/Makefile.am
parentc70e750aa5d2f070b7625b1f1113a0be1d647a6d (diff)
tlbuild.texi: @include install-tl and tlmgr, autogenerated from the pod
git-svn-id: svn://tug.org/texlive/trunk@34143 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/doc/Makefile.am')
-rw-r--r--Build/source/doc/Makefile.am58
1 files changed, 52 insertions, 6 deletions
diff --git a/Build/source/doc/Makefile.am b/Build/source/doc/Makefile.am
index 817c8d88b18..7f400822dec 100644
--- a/Build/source/doc/Makefile.am
+++ b/Build/source/doc/Makefile.am
@@ -5,17 +5,63 @@
##
## The info files
info_TEXINFOS = tlbuild.texi
-texlive_TEXINFOS = build-tools.txt
+tlbuild_TEXINFOS = build-tools.txt \
+ tlbuild-incl/install-tl.texi tlbuild-incl/install-tl.texi
EXTRA_DIST = build-tools.txt splitinfo.gawk
-# just for development of the doc.
-readme-files: tlbuild.texi
+# no reasonable way to avoid it with the pod doc.
+MAKEINFOFLAGS = --set INFO_SPECIAL_CHARS_WARNING=0
+
+# autogenerate the top-level README files.
+readme-files: tlbuild.info
rm -f README.*
- makeinfo --no-split -o /tmp/i $< # for error checking
- makeinfo --plaintext -o - $< \
+ $(MAKEINFO) $(MAKEINFOFLAGS) --plaintext -o - $(srcdir)/tlbuild.texi \
| tee /tmp/a \
| gawk -f $(srcdir)/splitinfo.gawk
ls -l README.*
# head -8 README.*
-.PHONY: readme-files
+readme-install: readme-files
+ cp -p README.* $(top_srcdir)/
+ svn diff $(top_srcdir)/README.* >/tmp/sd
+ svn status $(top_srcdir)/README.*
+#
+.PHONY: readme-files readme-install
+
+# autogenerate texinfo from install-tl and tlmgr pod.
+# none of this is intended to be executed except manually.
+mydoc = tlbuild
+
+# until the next texinfo release, need development texinfo
+# for --appendix-sections.
+texinfo_dir = $(HOME)/gnu/src/texinfo
+pod2texi = perl $(texinfo_dir)/Pod-Simple-Texinfo/pod2texi.pl
+pod2texi_args = \
+ --appendix-sections \
+ --base-level=section \
+ --no-fill-section-gaps \
+ --preamble=''
+
+# We use a complicated L<> section reference in the tlmgr pod,
+# schematically like this:
+# L<whatever|/mysec I<myital>>
+# Unfortunately, the Pod module does not pass the necessary information
+# in the callbacks to allow pod2texi to preserve the I<>. It seems
+# better to kludge in some substitutions here than reimplement a whole
+# pod parser. Sigh.
+#
+update_node_bad = ref{tlmgr update [option]... [pkg]...
+update_node_good = ref{tlmgr update [\@emph{option}]... [\@emph{pkg}]...
+install_node_bad = ref{tlmgr install [option]... pkg...
+install_node_good = ref{tlmgr install [\@emph{option}]... \@emph{pkg}...
+
+# we don't actually use the (autogenerated) -incl.texi file,
+# but it makes for a convenient target.
+$(mydoc)-incl.texi: install-tl tlmgr.pl
+ $(pod2texi) -o $@ --subdir=$(mydoc)-incl $(pod2texi_args) $^
+ perl -pi \
+ -e 's/\Q$(update_node_bad)\E/$(update_node_good)/' \
+ -e ';' \
+ -e 's/\Q$(install_node_bad)\E/$(install_node_good)/' \
+ $(mydoc)-incl/tlmgr.texi
+.PHONY: $(mydoc)-incl.texi