|  2.4 Automake Development 
By 1994, Autoconf was a solid framework for handling the differences
between Unix variants.  However, program developers still had to write
large `Makefile.in' files in order to use it.  The `configure'
script generated by autoconfwould transform the
`Makefile.in' file into a `Makefile' used by themakeprogram. 
A `Makefile.in' file has to describe how to build the program.  In
the Imake equivalent of a `Makefile.in', known as an
`Imakefile', it is only necessary to describe which source files
are used to build the program.  When Imake generates a
`Makefile', it adds the rules for how to build the program itself.
Later versions of the BSD makeprogram also include
rules for building a program. 
Since most programs are built in much the same way, there was a great
deal of duplication in `Makefile.in' files.  Also, the GNU
project developed a reasonably complex set of standards for
`Makefile's, and it was easy to get some of the details wrong.
 
These factors led to the development of Automake.  automake,
likeautoconf, is a program run by a developer.  The developer
writes files named `Makefile.am'; these use a simpler syntax than
ordinary `Makefile's.automakereads the
`Makefile.am' files and produces `Makefile.in' files.  The
idea is that a script generated byautoconfconverts these
`Makefile.in' files into `Makefile's. 
As with Imake and BSD make, the `Makefile.am'
file need only describe the files used to build a program.automakeautomatically adds the necessary rules when it
generates the `Makefile.in' file.automakealso adds any
rules required by the GNU `Makefile' standards. 
The first version of Automake was written by David MacKenzie in 1994.
It was completely rewritten in 1995 by Tom Tromey.
 
 |