automake: automake Invocation

1 
1 5 Creating a ‘Makefile.in’
1 **************************
1 
1 To create all the ‘Makefile.in’s for a package, run the ‘automake’
1 program in the top level directory, with no arguments.  ‘automake’ will
1 automatically find each appropriate ‘Makefile.am’ (by scanning
1 ‘configure.ac’; ⇒configure) and generate the corresponding
1 ‘Makefile.in’.  Note that ‘automake’ has a rather simplistic view of
1 what constitutes a package; it assumes that a package has only one
1 ‘configure.ac’, at the top.  If your package has multiple
1 ‘configure.ac’s, then you must run ‘automake’ in each directory holding
1 a ‘configure.ac’.  (Alternatively, you may rely on Autoconf’s
1 ‘autoreconf’, which is able to recurse your package tree and run
1 ‘automake’ where appropriate.)
1 
1    You can optionally give ‘automake’ an argument; ‘.am’ is appended to
1 the argument and the result is used as the name of the input file.  This
1 feature is generally only used to automatically rebuild an out-of-date
1 ‘Makefile.in’.  Note that ‘automake’ must always be run from the topmost
1 directory of a project, even if being used to regenerate the
1 ‘Makefile.in’ in some subdirectory.  This is necessary because
1 ‘automake’ must scan ‘configure.ac’, and because ‘automake’ uses the
1 knowledge that a ‘Makefile.in’ is in a subdirectory to change its
1 behavior in some cases.
1 
1    Automake will run ‘autoconf’ to scan ‘configure.ac’ and its
1 dependencies (i.e., ‘aclocal.m4’ and any included file), therefore
1 ‘autoconf’ must be in your ‘PATH’.  If there is an ‘AUTOCONF’ variable
1 in your environment it will be used instead of ‘autoconf’, this allows
1 you to select a particular version of Autoconf.  By the way, don’t
1 misunderstand this paragraph: ‘automake’ runs ‘autoconf’ to *scan* your
1 ‘configure.ac’, this won’t build ‘configure’ and you still have to run
1 ‘autoconf’ yourself for this purpose.
1 
1    ‘automake’ accepts the following options:
1 
1 ‘-a’
1 ‘--add-missing’
1      Automake requires certain common files to exist in certain
1      situations; for instance, ‘config.guess’ is required if
1      ‘configure.ac’ invokes ‘AC_CANONICAL_HOST’.  Automake is
1      Programs::); this option will cause the missing ones to be
1      automatically added to the package, whenever possible.  In general
1      if Automake tells you a file is missing, try using this option.  By
1      default Automake tries to make a symbolic link pointing to its own
1      copy of the missing file; this can be changed with ‘--copy’.
1 
1      Many of the potentially-missing files are common scripts whose
1      location may be specified via the ‘AC_CONFIG_AUX_DIR’ macro.
1      Therefore, ‘AC_CONFIG_AUX_DIR’’s setting affects whether a file is
11      considered missing, and where the missing file is added (⇒
      Optional).
1 
11      In some strictness modes, additional files are installed, see ⇒
      Gnits for more information.
1 
1 ‘--libdir=DIR’
1      Look for Automake data files in directory DIR instead of in the
1      installation directory.  This is typically used for debugging.
1 
1      The environment variable ‘AUTOMAKE_LIBDIR’ provides another way to
1      set the directory containing Automake data files.  However
1      ‘--libdir’ takes precedence over it.
1 
1 ‘--print-libdir’
1      Print the path of the installation directory containing
1      Automake-provided scripts and data files (like e.g., ‘texinfo.texi’
1      and ‘install-sh’).
1 
1 ‘-c’
1 ‘--copy’
1      When used with ‘--add-missing’, causes installed files to be
1      copied.  The default is to make a symbolic link.
1 
1 ‘-f’
1 ‘--force-missing’
1      When used with ‘--add-missing’, causes standard files to be
1      reinstalled even if they already exist in the source tree.  This
1      involves removing the file from the source tree before creating the
1      new symlink (or, with ‘--copy’, copying the new file).
1 
1 ‘--foreign’
1      Set the global strictness to ‘foreign’.  For more information, see
1      ⇒Strictness.
1 
1 ‘--gnits’
1      Set the global strictness to ‘gnits’.  For more information, see
1      ⇒Gnits.
1 
1 ‘--gnu’
1      Set the global strictness to ‘gnu’.  For more information, see
1      ⇒Gnits.  This is the default strictness.
1 
1 ‘--help’
1      Print a summary of the command line options and exit.
1 
1 ‘-i’
1 ‘--ignore-deps’
1      This disables the dependency tracking feature in generated
1      ‘Makefile’s; see ⇒Dependencies.
1 
1 ‘--include-deps’
1      This enables the dependency tracking feature.  This feature is
1      enabled by default.  This option is provided for historical reasons
1      only and probably should not be used.
1 
1 ‘--no-force’
1      Ordinarily ‘automake’ creates all ‘Makefile.in’s mentioned in
1      ‘configure.ac’.  This option causes it to only update those
1      ‘Makefile.in’s that are out of date with respect to one of their
1      dependents.
1 
1 ‘-o DIR’
1 ‘--output-dir=DIR’
1      Put the generated ‘Makefile.in’ in the directory DIR.  Ordinarily
1      each ‘Makefile.in’ is created in the directory of the corresponding
1      ‘Makefile.am’.  This option is deprecated and will be removed in a
1      future release.
1 
1 ‘-v’
1 ‘--verbose’
1      Cause Automake to print information about which files are being
1      read or created.
1 
1 ‘--version’
1      Print the version number of Automake and exit.
1 
1 ‘-W CATEGORY’
1 ‘--warnings=CATEGORY’
1      Output warnings falling in CATEGORY.  CATEGORY can be one of:
1      ‘gnu’
11           warnings related to the GNU Coding Standards (⇒
           (standards)Top).
1      ‘obsolete’
1           obsolete features or constructions
1      ‘override’
1           user redefinitions of Automake rules or variables
1      ‘portability’
1           portability issues (e.g., use of ‘make’ features that are
1           known to be not portable)
1      ‘extra-portability’
1           extra portability issues related to obscure tools.  One
1           example of such a tool is the Microsoft ‘lib’ archiver.
1      ‘syntax’
1           weird syntax, unused variables, typos
1      ‘unsupported’
1           unsupported or incomplete features
1      ‘all’
1           all the warnings
1      ‘none’
1           turn off all the warnings
1      ‘error’
1           treat warnings as errors
1 
1      A category can be turned off by prefixing its name with ‘no-’.  For
1      instance, ‘-Wno-syntax’ will hide the warnings about unused
1      variables.
1 
1      The categories output by default are ‘obsolete’, ‘syntax’ and
1      ‘unsupported’.  Additionally, ‘gnu’ and ‘portability’ are enabled
1      in ‘--gnu’ and ‘--gnits’ strictness.
1 
1      Turning off ‘portability’ will also turn off ‘extra-portability’,
1      and similarly turning on ‘extra-portability’ will also turn on
1      ‘portability’.  However, turning on ‘portability’ or turning off
1      ‘extra-portability’ will not affect the other category.
1 
1      The environment variable ‘WARNINGS’ can contain a comma separated
1      list of categories to enable.  It will be taken into account before
1      the command-line switches, this way ‘-Wnone’ will also ignore any
1      warning category enabled by ‘WARNINGS’.  This variable is also used
1      by other tools like ‘autoconf’; unknown categories are ignored for
1      this reason.
1 
1    If the environment variable ‘AUTOMAKE_JOBS’ contains a positive
1 number, it is taken as the maximum number of Perl threads to use in
1 ‘automake’ for generating multiple ‘Makefile.in’ files concurrently.
1 This is an experimental feature.
1