|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
Various features of Automake can be controlled by options in the
`Makefile.am'. Such options are applied on a per-`Makefile'
basis when listed in a special `Makefile' variable named
AUTOMAKE_OPTIONS. They are applied globally to all processed
`Makefiles' when listed in the first argument of
AM_INIT_AUTOMAKE in `configure.ac'. Currently understood
Set the strictness as appropriate. The `gnits' option also implies options `readme-alpha' and `check-news'.
Turn on the obsolete de-ANSI-fication feature. See section Automatic de-ANSI-fication. If preceded by a path, the generated `Makefile.in' will look in the specified directory to find the `ansi2knr' program. The path should be a relative path to another directory in the same distribution (Automake currently does not check this).
Cause `make dist' to fail unless the current version number appears in the first few lines of the `NEWS' file.
Cause output of the simple test suite (see section Simple Tests) to be colorized on capable terminals.
dejagnu-specific rules to be generated. See section DejaGnu Tests.
Abort if file names longer than 99 characters are found during
`make dist'. Such long file names are generally considered not to
be portable in tarballs. See the `tar-v7' and `tar-ustar'
options below. This option should be used in the top-level
`Makefile.am' or as an argument of
`configure.ac', it will be ignored otherwise. It will also be
ignored in sub-packages of nested packages (see section Nesting Packages).
This option is meaningful only when passed as an argument to
AM_INIT_AUTOMAKE. It will prevent the
VERSION variables from being
This is similar to using `--ignore-deps' on the command line, but is useful for those situations where you don't have the necessary bits to make automatic dependency tracking work (see section Automatic dependency tracking). In this case the effect is to effectively disable automatic dependency tracking.
Don't emit any code related to
dist target. This is useful
when a package has its own method for making distributions.
Do not hook
If your `Makefile.am' defines a rule for target
will override a rule for a target named `foo$(EXEEXT)'. This is
EXEEXT is found to be empty. However, by
automake will generate an error for this use. The
`no-exeext' option will disable this error. This is intended for
use only where it is known in advance that the package will not be
ported to Windows, or any other operating system using extensions on
The generated `Makefile.in' will not cause info pages to be built
or installed by default. However,
targets will still be available. This option is disallowed at
`gnu' strictness and above.
The generated `Makefile.in' will not cause man pages to be
installed by default. However, an
install-man target will still
be available for optional installation. This option is disallowed at
`gnu' strictness and above.
This option can be used to disable the standard `-I' options that are ordinarily automatically provided by Automake.
Don't require `texinfo.tex', even if there are texinfo files in this directory.
Enable test suite driver for
TESTS that can run tests in parallel
(see section Simple Tests using `parallel-tests', for more information).
If this release is an alpha release, and the file `README-alpha' exists, then it will be added to the distribution. If this option is given, version numbers are expected to follow one of two forms. The first form is `MAJOR.MINOR.ALPHA', where each element is a number; the final period and number should be left off for non-alpha releases. The second form is `MAJOR.MINORALPHA', where ALPHA is a letter; it should be omitted for non-alpha releases.
Enable less verbose build rules. This can be used to let build rules output a status line of the form
instead of printing the command that will be executed to update
output-file. It can also silence
To enable less verbose build rules, both the developer and the user of the package have to take a number of steps. The developer needs to do either of the following:
AM_SILENT_RULESmacro from within the `configure.ac' file.
If the developer has done either of the above, then the user of the
package may influence the verbosity at
configure run time as
well as at
make run time:
configurewill cause build rules to be less verbose; the option `--disable-silent-rules' is the default and will cause normal verbose output.
makerun time, the default chosen at
configuretime may be overridden:
make V=1will produce verbose output,
make V=0less verbose output.
For portability to different
make implementations, package authors
are advised to not set the variable
V inside the `Makefile.am'
file, to allow the user to override the value for subdirectories as well.
The current implementation of this feature relies on a non-POSIX, but in
practice rather widely supported `Makefile' construct of nested
variable expansion `$(var1$(V))'. Do not use the
`silent-rules' option if your package needs to build with
make implementations that do not support it. The
`silent-rules' option turns off warnings about recursive variable
expansion, which are in turn enabled by `-Wportability'
(see section Creating a `Makefile.in').
To extend the silent mode to your own rules, you have two choices:
AM_V_GENas a prefix to commands that should output a status line in silent mode, and
AM_V_atas a prefix to commands that should not output anything in silent mode. When output is to be verbose, both of these variables will expand to the empty string.
pkg_verbose = $(pkg_verbose_$(V)) pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_VERBOSITY)) pkg_verbose_0 = @echo GEN $@; foo: foo.in $(pkg_verbose)cp $(srcdir)/foo.in $@
installcheck rule check that installed scripts and
programs support the `--help' and `--version' options.
This also provides a basic check that the program's
run-time dependencies are satisfied after installation.
In a few situations, programs (or scripts) have to be exempted from this
test. For instance,
false (from GNU sh-utils) is never
successful, even for `--help' or `--version'. You can list
such programs in the variable
Programs (not scripts) listed in this variable should be suffixed by
`$(EXEEXT)' for the sake of Win32 or OS/2. For instance, suppose we
build `false' as a program but `true.sh' as a script, and that
neither of them support `--help' or `--version':
AUTOMAKE_OPTIONS = std-options bin_PROGRAMS = false ... bin_SCRIPTS = true.sh ... AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = false$(EXEEXT) true.sh
If this option is specified, then objects are placed into the subdirectory of the build directory corresponding to the subdirectory of the source file. For instance, if the source file is `subdir/file.cxx', then the output file would be `subdir/file.o'.
In order to use this option with C sources, you should add
AM_PROG_CC_C_O to `configure.ac'.
These three mutually exclusive options select the tar format to use when generating tarballs with `make dist'. (The tar file created is then compressed according to the set of `no-dist-gzip', `dist-bzip2', `dist-lzma' and `dist-tarZ' options in use.)
These options must be passed as arguments to
(see section Autoconf macros supplied with Automake) because they can require additional configure checks.
Automake will complain if it sees such options in an
`tar-v7' selects the old V7 tar format. This is the historical default. This antiquated format is understood by all tar implementations and supports file names with up to 99 characters. When given longer file names some tar implementations will diagnose the problem while other will generate broken tarballs or use non-portable extensions. Furthermore, the V7 format cannot store empty directories. When using this format, consider using the `filename-length-max=99' option to catch file names too long.
`tar-ustar' selects the ustar format defined by POSIX 1003.1-1988. This format is believed to be old enough to be portable. It fully supports empty directories. It can store file names with up to 256 characters, provided that the file name can be split at directory separator in two parts, first of them being at most 155 bytes long. So, in most cases the maximum file name length will be shorter than 256 characters. However you may run against broken tar implementations that incorrectly handle file names longer than 99 characters (please report them to email@example.com so we can document this accurately).
`tar-pax' selects the new pax interchange format defined by POSIX 1003.1-2001. It does not limit the length of file names. However, this format is very young and should probably be restricted to packages that target only very modern platforms. There are moves to change the pax format in an upward-compatible way, so this option may refer to a more recent version in the future.
See (tar)Formats section `Controlling the Archive Format' in GNU Tar, for further discussion about tar formats.
configure knows several ways to construct these formats. It
will not abort if it cannot find a tool up to the task (so that the
package can still be built), but `make dist' will fail.
A version number (e.g., `0.30') can be specified. If Automake is not newer than the version specified, creation of the `Makefile.in' will be suppressed.
These options behave exactly like their command-line counterpart (see section Creating a `Makefile.in'). This allows you to enable or disable some warning categories on a per-file basis. You can also setup some warnings for your entire project; for instance, try `AM_INIT_AUTOMAKE([-Wall])' in your `configure.ac'.
Unrecognized options are diagnosed by
If you want an option to apply to all the files in the tree, you can use
AM_INIT_AUTOMAKE macro in `configure.ac'.
See section Autoconf macros supplied with Automake.
|[ << ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
This document was generated on July, 20 2009 using texi2html 1.76.