7.3 The easy primaries
This section describes the common primaries that are relatively easy to
understand; the more complicated ones are discussed in the next section.
- This is the easiest primary to understand. A macro of this type lists a
number of files which are installed verbatim. These files can appear
either in the source directory or the build directory.
- Macros of this type list header files. These are separate from
DATA macros because this allows for extra error checking in some
- This is used for executable scripts (interpreted programs). These are
DATA because they are installed with different
permissions and because they have the program name transform applied to
them (e.g., the `--program-transform-name' argument to
configure). Scripts are also different from compiled programs
because the latter can be stripped while scripts cannot.
- This lists man pages. Installing man pages is more complicated than you
might think due to the lack of a single common practice. One developer
might name a man page in the source tree `foo.man' and then rename
to the real name (`foo.1') at install time. Another developer
might instead use numeric suffixes in the source tree and install using
the same name. Sometimes an alphabetic code follows the numeric suffix
(e.g., `quux.3n'); this code must be stripped before determining
the correct install directory (this file must still be installed in
`$(man3dir)'). Automake supports all of these modes of operation:
man_MANS can be used when numeric suffixes are already in place:
man_MANS = foo.1 bar.2 quux.3n
man2_MANS, etc., can be used to force renaming
at install time. This renaming is skipped if the suffix already begins
with the correct number. For instance:
Here `foo.man' will be installed as `foo.1' but `quux.3n'
will keep its name at install time.
man1_MANS = foo.man
man3_MANS = quux.3n
- GNU programs traditionally use the Texinfo documentation format,
not man pages. Automake has full support for Texinfo, including some
additional features such as versioning and
We won't go into that here except to mention that it exists. See the
Automake reference manual for more information.
Automake supports a variety of lesser-used primaries such as
LISP (and, in the next major release,
the reference manual for more information on these.