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.

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

--amdir=dir

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

--build-dir=dir

Tell Automake where the build directory is. This option is used when including dependencies into a Makefile.in generated by make dist; it should not be used otherwise.

--cygnus

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

--foreign

Set the global strictness to ‘foreign’. See Strictness for more information.

--gnits

Set the global strictness to ‘gnits’. See The effect of --gnu and --gnits for more information.

--gnu

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

--help

Print a summary of the command line options and exit.

-i
--include-deps

Include all automatically generated dependency information (see Automatic dependency tracking) in the generated Makefile.in. This is generally done when making a distribution; see What Goes in a Distribution.

--generate-deps

Generate a file concatenating all automatically generated dependency information (see Automatic dependency tracking) into one file, .dep_segment. This is generally done when making a distribution; see What Goes in a Distribution. It is useful when maintaining a SMakefile or makefiles for other platforms (Makefile.DOS, etc.) It can only be used in conjunction with --include-deps, --srcdir-name, and --build-dir. Note that if this option is given, no other processing is done.

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

--srcdir-name=dir

Tell Automake the name of the source directory associated with the current build. This option is used when including dependencies into a Makefile.in generated by make dist; it should not be used otherwise.

-v
--verbose

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

--version

Print the version number of Automake and exit.


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