Next: Man pages, Up: Documentation
If the current directory contains Texinfo source, you must declare it
with the TEXINFOS
primary. Generally Texinfo files are converted
into info, and thus the info_TEXINFOS
variable is most commonly used
here. Any Texinfo source file must end in the .texi,
.txi, or .texinfo extension. We recommend .texi
for new manuals.
Automake generates rules to build .info, .dvi, .ps, .pdf and .html files from your Texinfo sources. Following the GNU Coding Standards, only the .info files are built by ‘make all’ and installed by ‘make install’ (unless you use no-installinfo, see below). Furthermore, .info files are automatically distributed so that Texinfo is not a prerequisite for installing your package.
Other documentation formats can be built on request by ‘make dvi’, ‘make ps’, ‘make pdf’ and ‘make html’, and they can be installed with ‘make install-dvi’, ‘make install-ps’, ‘make install-pdf’ and ‘make install-html’ explicitly. ‘make uninstall’ will remove everything: the Texinfo documentation installed by default as well as all the above optional formats.
All these targets can be extended using ‘-local’ rules (see Extending).
If the .texi file @include
s version.texi, then
that file will be automatically generated. The file version.texi
defines four Texinfo flag you can reference using
@value{EDITION}
, @value{VERSION}
,
@value{UPDATED}
, and @value{UPDATED-MONTH}
.
EDITION
VERSION
UPDATED
UPDATED-MONTH
The version.texi support requires the mdate-sh script; this script is supplied with Automake and automatically included when automake is invoked with the --add-missing option.
If you have multiple Texinfo files, and you want to use the version.texi feature, then you have to have a separate version file for each Texinfo file. Automake will treat any include in a Texinfo file that matches vers*.texi just as an automatically generated version file.
Sometimes an info file actually depends on more than one .texi
file. For instance, in GNU Hello, hello.texi includes the file
gpl.texi. You can tell Automake about these dependencies using
the texi_TEXINFOS
variable. Here is how GNU Hello does it:
info_TEXINFOS = hello.texi hello_TEXINFOS = gpl.texi
By default, Automake requires the file texinfo.tex to appear in
the same directory as the Makefile.am file that lists the
.texi files. If you used AC_CONFIG_AUX_DIR
in
configure.ac (see Finding `configure' Input), then texinfo.tex is looked for
there. In both cases, automake then supplies texinfo.tex if
--add-missing is given, and takes care of its distribution.
However, if you set the TEXINFO_TEX
variable (see below),
it overrides the location of the file and turns off its installation
into the source as well as its distribution.
The option no-texinfo.tex can be used to eliminate the
requirement for the file texinfo.tex. Use of the variable
TEXINFO_TEX
is preferable, however, because that allows the
dvi
, ps
, and pdf
targets to still work.
Automake generates an install-info
rule; some people apparently
use this. By default, info pages are installed by ‘make
install’, so running make install-info
is pointless. This can
be prevented via the no-installinfo
option. In this case,
.info files are not installed by default, and user must
request this explicitly using ‘make install-info’
The following variables are used by the Texinfo build rules.
MAKEINFO
MAKEINFOHTML
MAKEINFOFLAGS
AM_MAKEINFOFLAGS
AM_MAKEINFOHTMLFLAGS
MAKEINFOFLAGS
, these variables are meant to be defined by
maintainers in Makefile.am. ‘$(AM_MAKEINFOFLAGS)’ is
passed to makeinfo
when building .info files; and
‘$(AM_MAKEINFOHTMLFLAGS)’ is used when building .html
files.
For instance, the following setting can be used to obtain one single .html file per manual, without node separators.
AM_MAKEINFOHTMLFLAGS = --no-headers --no-split
AM_MAKEINFOHTMLFLAGS
defaults to ‘$(AM_MAKEINFOFLAGS)’.
This means that defining AM_MAKEINFOFLAGS
without defining
AM_MAKEINFOHTMLFLAGS
will impact builds of both .info
and .html files.
TEXI2DVI
TEXI2PDF
DVIPS
TEXINFO_TEX
TEXINFO_TEX
to tell Automake where to find the canonical
texinfo.tex for your package. The value of this variable should
be the relative path from the current Makefile.am to
texinfo.tex:
TEXINFO_TEX = ../doc/texinfo.tex