# Makefile.am for texinfo/doc. # # Copyright 2002-2023 Free Software Foundation, Inc. # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # The links to texi2any_internals require that to avoid many warnings AM_MAKEINFOFLAGS = -c INFO_SPECIAL_CHARS_WARNING=0 SUBDIRS = tp_api info_TEXINFOS = texinfo.texi info-stnd.texi texi2any_api.texi texinfo_TEXINFOS = pod2texi.texi DISTCLEANFILES = texinfo.info* info-stnd.info* texi2any_api.info* TEXINFO_TEX = texinfo.tex MAKEINFO_ENVIRONMENT = TEXINFO_DEV_SOURCE=1 \ top_srcdir="$(top_srcdir)" \ top_builddir="$(top_builddir)" MAKEINFO = $(MAKEINFO_ENVIRONMENT) $(PERL) $(top_builddir)/tp/texi2any TEXI2DVI_ENVIRONMENT = TEXINDEX=${abs_top_builddir}/texindex/texindex \ TEXINDEX_SCRIPT=${abs_top_srcdir}/texindex/texindex.awk TEXI2DVI = $(TEXI2DVI_ENVIRONMENT) $(top_srcdir)/util/texi2dvi # include pod2texi in the main manual pod2texi_pl = $(abs_top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl if BUILD_PERL_API_TEXI # we setup the conversion to Texinfo for inclusion in a document, # but we ignore the resulting document, as we include from the # Texinfo manual. The file name for the included section # is therefore determined by the information in the Pod file NAME # section. pod2texi.texi: $(pod2texi_pl) $(PERL) -I $(top_srcdir)/Pod-Simple-Texinfo/lib/ -I $(top_srcdir)/tp/ -I $(top_srcdir)/tp/maintain/lib/Text-Unidecode/lib/ -I $(top_srcdir)/tp/maintain/lib/libintl-perl/lib/ -I $(top_srcdir)/tp/maintain/lib/Unicode-EastAsianWidth/lib/ $(top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl --base-level=subsubsection --no-section-nodes --headings-as-sections $(pod2texi_pl) > /dev/null endif # We'd also like to use something like this, but Automake calls # "install-info" directly. # INSTALL_INFO = $(top_builddir)/$(native_tools)/util/ginstall-info TXI_XLATE = txi-ca.tex txi-cs.tex txi-de.tex txi-en.tex txi-es.tex \ txi-fi.tex txi-fr.tex txi-hu.tex txi-is.tex txi-it.tex \ txi-ja.tex txi-nb.tex txi-nl.tex txi-nn.tex txi-pl.tex \ txi-pt.tex txi-ru.tex txi-sr.tex txi-tr.tex txi-uk.tex \ txi-zh.tex refcard_files = refcard/Makefile refcard/txicmdcheck \ refcard/txirefcard-a4.pdf refcard/txirefcard.pdf \ refcard/txirefcard.tex refcard/txirefcard.pdf refcard/txirefcard-a4.pdf: refcard/txirefcard.tex cd $(srcdir)/refcard && make # Include our texinfo.tex, not Automake's. EXTRA_DIST = epsf.tex texinfo.tex \ fdl.texi \ $(man_MANS) $(TXI_XLATE) \ $(refcard_files) \ texinfo-tex-test.texi texinfo-tex-test.WIDOWs \ texinfo-ja.tex short-sample-ja.texi \ texinfo-zh.tex short-sample-zh.texi if INSTALL_WARNINGS install-data-local: @echo @echo "WARNING: If your texmf tree does not already contain" @echo " up-to-date versions, you must install" @echo " texinfo.tex and txi-??.tex manually," @echo " perhaps in TEXMF/tex/texinfo/," @echo " where TEXMF is a root of your TeX tree." @echo " See INSTALL for some considerations." @echo " You can run make TEXMF=/your/texmf install-tex to do this." @echo @echo " You may also need to install epsf.tex in" @echo " TEXMF/tex/generic/dvips, if your TeX" @echo " installation did not include it." endif texmf_texinfo = $(TEXMF)/tex/texinfo texmf_dvips = $(TEXMF)/tex/generic/epsf install-tex: test -n "$(TEXMF)" || (echo "TEXMF must be set." >&2; exit 1) $(mkinstalldirs) $(DESTDIR)$(texmf_texinfo) $(DESTDIR)$(texmf_dvips) $(INSTALL_DATA) $(srcdir)/texinfo.tex $(DESTDIR)$(texmf_texinfo)/texinfo.tex $(INSTALL_DATA) $(srcdir)/texinfo-ja.tex $(DESTDIR)$(texmf_texinfo)/texinfo-ja.tex $(INSTALL_DATA) $(srcdir)/epsf.tex $(DESTDIR)$(texmf_dvips)/epsf.tex for f in $(TXI_XLATE); do \ $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(texmf_texinfo)/$$f; done # Do not create info files for distribution. dist-info: # Rules for updating the online web pages for the documentation # using the gendocs.sh script; see # http://www.gnu.org/prep/maintain/html_node/Invoking-gendocs_002esh.html # # Invoke gendocs.sh from a gnulib checkout (outside our tree). # gnulib = $(abs_top_srcdir)/../gnulib gendocs = $(gnulib)/build-aux/gendocs.sh gendocs_templates = $(gnulib)/doc gendocs_envvars = GENDOCS_TEMPLATE_DIR=$(gendocs_templates) # gendocs_email = bug-texinfo@gnu.org gendocs_dir_url = /manual/ # We use absolute URLs here so the same values will work for # both split and non-split mathjax_root = https://www.gnu.org/software/texinfo/manual gendocs_mathjax = -c HTML_MATH=mathjax \ -c MATHJAX_SCRIPT=$(mathjax_root)/tex-svg.js \ -c MATHJAX_SOURCE=$(mathjax_root)/mathjax-instructions.html gendocs_options = --email $(gendocs_email) --html '$(gendocs_mathjax) \ -c TOP_NODE_UP_URL=$(gendocs_dir_url)' # A nice side effect of using --html is to eliminate the fancy css default; # otherwise, we could use gendocs_template_min. # gendocs_invoke = env $(gendocs_envvars) $(gendocs) $(gendocs_options) manual1 = info-stnd manual1_title = "GNU standalone info manual" # manual2 = texinfo manual2_title = "GNU Texinfo manual" # manual3 = texi2any_api manual3_title = "GNU Texinfo texi2any Output Customization" manual3_flags = --common "-c INFO_SPECIAL_CHARS_WARNING=0" # manual4 = texi2any_internals manual4_title = "GNU Texinfo texi2any modules documentation" manual4_flags = --split chapter --common "-c INFO_SPECIAL_CHARS_WARNING=0" # We also make little HTML documents for pod2texi script and # Pod::Simple::Texinfo documentation. Texinfo.pm is linked to # be found when translating pod2texi to html in directory set by # --podpath. # destination directory. doctemp = wwwtemp www_target = $(HOME)/gnu/www/texinfo/manual # # Beware that the beginning of the --outfile pod2html option and --htmldir # must match in order to have --htmldir actually used. wwwdoc-build: rm -rf $(doctemp) && mkdir $(doctemp) cd $(doctemp) \ && $(MKDIR_P) Pod/Simple \ && ln -s ../*.texi . \ && ln -s ../tp_api/*.texi . \ && ln -s ../tp_api/api_includes . \ && ln -s ../../../../Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm Pod/Simple \ && $(gendocs_invoke) -o $(manual1) $(manual1) $(manual1_title) \ && $(gendocs_invoke) -o $(manual2) $(manual2) $(manual2_title) \ && $(gendocs_invoke) $(manual3_flags) \ -o $(manual3) $(manual3) $(manual3_title) \ && $(gendocs_invoke) $(manual4_flags) \ -o $(manual4) $(manual4) $(manual4_title) \ && pod2html --podpath . --htmldir='.' --quiet $(pod2texi_pl) --outfile=./pod2texi.html \ && pod2html --quiet Pod/Simple/Texinfo.pm >Pod/Simple/Texinfo.html \ && echo "Manuals ready for web distribution under: $(doctemp)/" # # At official release, we need to update: # http://www.gnu.org/software/texinfo/manual/ wwwdoc-install: cp -arf $(doctemp)/$(manual1) $(doctemp)/$(manual2) \ $(doctemp)/$(manual3) $(doctemp)/$(manual4) \ $(doctemp)/pod2texi.html \ $(www_target) $(MKDIR_P) $(www_target)/Pod/Simple cp -arf $(doctemp)/Pod/Simple/Texinfo.html $(www_target)/Pod/Simple ls -ltu $(www_target)/*/html_node | tail # cvs rm -f obsolete files # followed by cvs add of new files and cvs commit.