Next: , Previous: , Up: GNU Automake   [Contents][Index]


4 Creating a Makefile.in

To create all the Makefile.ins for a package, run the automake program in the top level directory, with no arguments. automake will automatically find each appropriate Makefile.am (by scanning configure.in; see Scanning configure.in) and generate the corresponding Makefile.in. Note that automake has a rather simplistic view of what constitutes a package; it assumes that a package has only one configure.in, at the top. If your package has multiple configure.ins, then you must run automake in each directory holding a configure.in. (Alteratively, you may rely on Autoconf’s autoreconf, which is able to recurse your package tree and run automake where appropriate.)

You can optionally give automake an argument; .am is appended to the argument and the result is used as the name of the input file. This feature is generally only used to automatically rebuild an out-of-date Makefile.in. Note that automake must always be run from the topmost directory of a project, even if being used to regenerate the Makefile.in in some subdirectory. This is necessary because automake must scan configure.in, and because automake uses the knowledge that a Makefile.in is in a subdirectory to change its behavior in some cases.

automake accepts the following options:

-a
--add-missing

Automake requires certain common files to exist in certain situations; for instance config.guess is required if configure.in runs AC_CANONICAL_HOST. Automake is distributed with several of these files (see Programs automake might require); this option will cause the missing ones to be automatically added to the package, whenever possible. In general if Automake tells you a file is missing, try using this option. By default Automake tries to make a symbolic link pointing to its own copy of the missing file; this can be changed with --copy.

--libdir=dir

Look for Automake data files in directory dir instead of in the installation directory. This is typically used for debugging.

-c
--copy

When used with --add-missing, causes installed files to be copied. The default is to make a symbolic link.

--cygnus

Causes the generated Makefile.ins to follow Cygnus rules, instead of GNU or Gnits rules. For more information, see The effect of --cygnus.

-f
--force-missing

When used with --add-missing, causes standard files to be reinstalled even if they already exist in the source tree. This involves removing the file from the source tree before creating the new symlink (or, with --copy, copying the new file).

--foreign

Set the global strictness to ‘foreign’. For more information, see Strictness.

--gnits

Set the global strictness to ‘gnits’. For more information, see The effect of --gnu and --gnits.

--gnu

Set the global strictness to ‘gnu’. For more information, see The effect of --gnu and --gnits. This is the default strictness.

--help

Print a summary of the command line options and exit.

-i
--ignore-deps

This disables the dependency tracking feature in generated Makefiles; see Automatic dependency tracking.

--include-deps

This enables the dependency tracking feature. This feature is enabled by default. This option is provided for historical reasons only and probably should not be used.

--no-force

Ordinarily automake creates all Makefile.ins mentioned in configure.in. This option causes it to only update those Makefile.ins which are out of date with respect to one of their dependents.

-o dir
--output-dir=dir

Put the generated Makefile.in in the directory dir. Ordinarily each Makefile.in is created in the directory of the corresponding Makefile.am. This option is used when making distributions.

-v
--verbose

Cause Automake to print information about which files are being read or created.

--version

Print the version number of Automake and exit.

--Werror
--Wno-error

--Werror’ will cause all warnings issued by automake to become errors. Errors affect the exit status of automake, while warnings do not. ‘--Wno-error’, the default, causes warnings to be treated as warnings only.


Next: Scanning configure.in, Previous: Some example packages, Up: GNU Automake   [Contents][Index]