automake-1.16: List of Automake options

 
 17.2 List of Automake options
 =============================
 
 ‘gnits’
 ‘gnu’
 ‘foreign’
 
      Set the strictness as appropriate.  ⇒Strictness.  The
      ‘gnits’ option also implies options ‘readme-alpha’ and
      ‘check-news’.
 
 ‘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.  ⇒DejaGnu
      Tests.
 
 ‘dist-bzip2’
      Hook ‘dist-bzip2’ to ‘dist’.
 
 ‘dist-lzip’
      Hook ‘dist-lzip’ to ‘dist’.
 
 ‘dist-xz’
      Hook ‘dist-xz’ to ‘dist’.
 
 ‘dist-zip’
      Hook ‘dist-zip’ to ‘dist’.
 
 ‘dist-zstd’
      Hook ‘dist-zstd’ to ‘dist’.
 
 ‘dist-shar’
      Hook ‘dist-shar’ to ‘dist’.  Use of this option is deprecated, as
      the ‘shar’ format is obsolescent and problematic.  Support for it
      will be removed altogether in Automake 2.0.
 
 ‘dist-tarZ’
      Hook ‘dist-tarZ’ to ‘dist’.  Use of this option is deprecated, as
      the ‘compress’ program is obsolete.  Support for it will be removed
      altogether in Automake 2.0.
 
 ‘filename-length-max=99’
      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 ‘AM_INIT_AUTOMAKE’ in ‘configure.ac’; it will
      be ignored otherwise.  It will also be ignored in sub-packages of
      nested packages (⇒Subpackages).
 
 ‘info-in-builddir’
      Instruct Automake to place the generated ‘.info’ files in the
      ‘builddir’ rather than in the ‘srcdir’.  Note that this might make
      VPATH builds with some non-GNU make implementations more brittle.
 
 ‘no-define’
      This option is meaningful only when passed as an argument to
      ‘AM_INIT_AUTOMAKE’.  It will prevent the ‘PACKAGE’ and ‘VERSION’
      variables from being ‘AC_DEFINE’d.  But notice that they will
      remain defined as shell variables in the generated ‘configure’, and
      as make variables in the generated ‘Makefile’; this is deliberate,
      and required for backward compatibility.
 
 ‘no-dependencies’
      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 (⇒
      Dependencies).  In this case the effect is to effectively disable
      automatic dependency tracking.
 
 ‘no-dist’
      Don’t emit any code related to ‘dist’ target.  This is useful when
      a package has its own method for making distributions.
 
 ‘no-dist-built-sources’
      Don’t build ‘BUILT_SOURCES’ as part of ‘dist’.  This option can be
      set if building the distribution only requires the source files,
      and doesn’t compile anything as a side-effect.  The default is for
      ‘$(distdir)’ to depend on ‘$(BUILT_SOURCES)’ because it is common,
      at least among GNU packages, to want to build the program to
      generate man pages with ‘help2man’ (⇒Errors with distclean).
      Admittedly the default behavior should perhaps be to omit the
      dependency, but to preserve compatibility, we don’t want to change
      it now.
 
 ‘no-dist-gzip’
      Do not hook ‘dist-gzip’ to ‘dist’.
 
 ‘no-exeext’
      If your ‘Makefile.am’ defines a rule for target ‘foo’, it will
      override a rule for 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 that
      are ordinarily automatically provided by Automake.
 
 ‘no-texinfo.tex’
      Don’t require ‘texinfo.tex’, even if there are texinfo files in
      this directory.
 
 ‘serial-tests’
      Enable the older serial test suite harness for ‘TESTS’ (⇒
      Serial Test Harness, for more information).
 
 ‘parallel-tests’
      Enable test suite harness for ‘TESTS’ that can run tests in
      parallel (⇒Parallel Test Harness, for more information).
      This option is only kept for backward-compatibility, since the
      parallel test harness is the default now.
 
 ‘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’ 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 coreutils) 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 Windows 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’.  ⇒Program and Library Variables.
 
 ‘tar-v7’
 ‘tar-ustar’
 ‘tar-pax’
 
      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-lzip’, ‘dist-xz’, ‘dist-zstd’ and ‘dist-tarZ’
      options in use.)
 
      These options must be passed as arguments to ‘AM_INIT_AUTOMAKE’
      (⇒Macros) because they can require additional configure
      checks.  Automake will complain if it sees such options in an
      ‘AUTOMAKE_OPTIONS’ variable.
 
      ‘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 others 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 old enough to be portable: As of 2018, it is
      supported by the native ‘tar’ command on GNU, FreeBSD, NetBSD,
      OpenBSD, AIX, HP-UX, and Solaris, at least.  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.
 
      ‘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.  As of 2018, this
      format is supported by the native ‘tar’ command only on GNU,
      FreeBSD, and OpenBSD systems; it is not supported by the native
      ‘tar’ command on NetBSD, AIX, HP-UX, or Solaris.  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.
 
      ⇒Controlling the Archive Format (tar)Formats, 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.
 
 VERSION
      A version number (e.g., ‘0.30’) can be specified.  If Automake is
      not the same version or 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
      (⇒automake Invocation).  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 ‘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.ac’.  ⇒Macros.