2. Makefile Generators

Once you get hold of writing plane simple Makefile, it is not difficult task to write minimal/simple Makefiles. But as and when complexity and scope of the software increases, the complexity of the build system may also increase. And, unfortunately, the complexity of the Makefiles do not grow linearly, but rather they tend to grow exponentially.

For different choices that a build system may have please look at Diversity Management