[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
1. Introduction
Automake is a tool for automatically generating ‘Makefile.in’s
from files called ‘Makefile.am’. Each ‘Makefile.am’ is
basically a series of make
variable
definitions(1), with rules being thrown in
occasionally. The generated ‘Makefile.in’s are compliant with
the GNU Makefile standards.
The GNU Makefile Standards Document (see (standards)Makefile Conventions section `Makefile Conventions' in The GNU Coding Standards) is long, complicated, and subject to change. The goal of Automake is to remove the burden of Makefile maintenance from the back of the individual GNU maintainer (and put it on the back of the Automake maintainers).
The typical Automake input file is simply a series of variable definitions. Each such file is processed to create a ‘Makefile.in’. There should generally be one ‘Makefile.am’ per directory of a project.
Automake does constrain a project in certain ways; for instance, it assumes that the project uses Autoconf (see (autoconf)Top section `Introduction' in The Autoconf Manual), and enforces certain restrictions on the ‘configure.ac’ contents(2).
Automake requires perl
in order to generate the
‘Makefile.in’s. However, the distributions created by Automake are
fully GNU standards-compliant, and do not require perl
in order
to be built.
Mail suggestions and bug reports for Automake to bug-automake@gnu.org.