automake: Introduction

1 
1 1 Introduction
1 **************
1 
1 Automake is a tool for automatically generating ‘Makefile.in’s from
1 files called ‘Makefile.am’.  Each ‘Makefile.am’ is basically a series of
1 ‘make’ variable definitions(1), with rules being thrown in occasionally.
1 The generated ‘Makefile.in’s are compliant with the GNU Makefile
1 standards.
1 
11    The GNU Makefile Standards Document (⇒(standards)Makefile
 Conventions) is long, complicated, and subject to change.  The goal of
1 Automake is to remove the burden of Makefile maintenance from the back
1 of the individual GNU maintainer (and put it on the back of the Automake
1 maintainers).
1 
1    The typical Automake input file is simply a series of variable
1 definitions.  Each such file is processed to create a ‘Makefile.in’.
1 
1    Automake does constrain a project in certain ways; for instance, it
11 assumes that the project uses Autoconf (⇒Introduction
 (autoconf)Top.), and enforces certain restrictions on the ‘configure.ac’
1 contents.
1 
1    Automake requires ‘perl’ in order to generate the ‘Makefile.in’s.
1 However, the distributions created by Automake are fully GNU
1 standards-compliant, and do not require ‘perl’ in order to be built.
1 
1    For more information on bug reports, ⇒Reporting Bugs.
1 
1    ---------- Footnotes ----------
1 
1    (1) These variables are also called “make macros” in Make
1 terminology, however in this manual we reserve the term “macro” for
1 Autoconf’s macros.
1