What is it all about?
Automake is a tool for automatically generating Makefile.ins from files called Makefile.am. Each Makefile.am is basically a series of make variable definitions1, with rules being thrown in occasionally. The generated Makefile.ins are compliant with the GNU Makefile standards. 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).
Key Features
*Automake aims to allow the programmer to write a makefile in a higher-level language, rather than having to write the whole makefile manually. In simple cases, it suffices to give: A line that declares the name of the program to build; A list of source files; A list of command-line options to be passed to the compiler (for example, in which directories header files will be found); A list of command-line options to be passed to the linker (which libraries the program needs and in what directories they are to be found). * From this information, Automake generates a makefile that allows the user to: Compile the program; Clean (i.e., remove the files resulting from the compilation); Install the program in standard directories; Uninstall the program from where it was installed; Create a source distribution archive (commonly called a tarball); Test that this archive is self-sufficient, and in particular that the program can be compiled in a directory other than the one where the sources are deployed. * Automake also takes care of automatically generating[3] the dependency information, so that when a source file is modified, the next invocation of the make command will know which source files need to be recompiled. If the compiler allows it, Automake tries to make the dependency system dynamic: whenever a source file is compiled, that file's dependencies are updated by asking the compiler to regenerate the file's dependency list. In other words, dependency tracking is a side effect of the compilation process. * Automake can also help with the compilation of libraries by automatically generating makefiles that will invoke GNU Libtool. The programmer is thus exempted from having to know how to call Libtool directly, and the project benefits from the use of a portable library creation tool.
Compare Products
Select up to three two products to compare by clicking on the compare icon () of each product.
{{compareToolModel.Error}}