automake-1.16: Introduction

 
 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 (⇒(standards)Makefile
 Conventions) 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’.
 
    Automake does constrain a project in certain ways; for instance, it
 assumes that the project uses Autoconf (⇒Introduction
 (autoconf)Top.), and enforces certain restrictions on the ‘configure.ac’
 contents.
 
    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.
 
    For more information on bug reports, ⇒Reporting Bugs.
 
    ---------- Footnotes ----------
 
    (1) These variables are also called “make macros” in Make
 terminology, however in this manual we reserve the term “macro” for
 Autoconf’s macros.