Go to the first, previous, next, last section, table of contents.


Creating a `Makefile.in'

To create all the `Makefile.in's 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 section 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.in's, 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.in's to follow Cygnus rules, instead of GNU or Gnits rules. See section The effect of --cygnus for more information.
--foreign
Set the global strictness to `foreign'. See section Strictness for more information.
--gnits
Set the global strictness to `gnits'. See section The effect of --gnu and --gnits for more information.
--gnu
Set the global strictness to `gnu'. See section 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 section Automatic dependency tracking) in the generated `Makefile.in'. This is generally done when making a distribution; see section What Goes in a Distribution.
--generate-deps
Generate a file concatenating all automatically generated dependency information (see section Automatic dependency tracking) into one file, `.dep_segment'. This is generally done when making a distribution; see section 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.in's mentioned in `configure.in'. This option causes it to only update those `Makefile.in's 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.


Go to the first, previous, next, last section, table of contents.