automake.info: Options

Go forward to Miscellaneous
Go backward to Tests
Go up to Top
Go to the top op automake

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.  *Note ANSI::.  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.  *Note Tests::.
`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_DEFINE'd.
`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 *Note
     Dependencies::.  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
     (*note Invoking Automake::).  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'.  *Note Macros::.