[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

17. Changing Automake's Behavior

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.in'. Currently understood options are:

gnits
gnu
foreign
cygnus

Set the strictness as appropriate. The gnits option also implies readme-alpha and check-news.

ansi2knr
path/ansi2knr
Turn on automatic de-ANSI-fication. See section 9.13 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).

check-news
Cause make dist to fail unless the current version number appears in the first few lines of the `NEWS' file.

dejagnu
Cause dejagnu-specific rules to be generated. See section 16. Support for test suites.

dist-bzip2
Generate a dist-bzip2 target, creating a bzip2 tar archive of the distribution. dist will create it in addition to the other formats. bzip2 archives are frequently smaller than gzipped archives.

dist-shar
Generate a dist-shar target, creating a shar archive of the distribution. dist will create it in addition to the other formats.

dist-zip
Generate a dist-zip target, creating a zip archive of the distribution. dist will create it in addition to the other formats.

dist-tarZ
Generate a dist-tarZ target, creating a compressed tar archive of the distribution. dist will create it in addition to the other formats.

no-define
This options is meaningful only when passed as an argument to AM_INIT_AUTOMAKE. It will prevent the PACKAGE and VERSION variables to be AC_DEFINEd.

no-dependencies
This is similar to using `--include-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 9.14 Automatic dependency tracking. In this case the effect is to effectively disable automatic dependency tracking.

no-exeext
If your `Makefile.am' defines a target `foo', it will override a target named `foo$(EXEEXT)'. This is necessary when EXEEXT is found to be empty. However, by default 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 executables.

no-installinfo
The generated `Makefile.in' will not cause info pages to be built or installed by default. However, info and install-info targets will still be available. This option is disallowed at `GNU' strictness and above.

no-installman
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.

nostdinc
This option can be used to disable the standard `-I' options which are ordinarily automatically provided by Automake.

no-texinfo.tex
Don't require `texinfo.tex', even if there are texinfo files in this directory.

readme-alpha
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.

std-options
Make the installcheck target 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 AM_INSTALLCHECK_STD_OPTIONS_EXEMPT. 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

subdir-objects
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'.

version
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.

-Wcategory or --warnings=category
These options behave exactly like their command-line counterpart (see section 4. 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.in'.

Unrecognized options are diagnosed by automake.

If you want an option to apply to all the files in the tree, you can use the AM_INIT_AUTOMAKE macro in `configure.in'. See section 5.6 Autoconf macros supplied with Automake.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Jeff Bailey on December, 24 2002 using texi2html