Working with the GNU build system
A Makefile
is a good solution when you are always going to build and run your software on the same system, and things like glibc
and gcc
versions and the available library versions are known. However, most software need to be built and run in a variety of systems.
Getting ready
The GNU build system, or autotools
, is a set of tools whose aim is to create a Makefile
for your software in a variety of systems. It's made up of three main tools:
autoconf
: This parses the contents of aconfigure.ac
file that describes the source code to be built and creates aconfigure
script. This script will then be used to generate the finalMakefile
.automake
: This parses the contents of aMakefile.am
file and converts it into aMakefile.in
file. This is then used by theconfigure
script generated earlier to obtain aconfig.status
script that gets automatically executed to obtain the finalMakefile
.libtools
: This manages the creation of both static and dynamic libraries.