Recs.
Updated
GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files.
SpecsUpdate
Pros
Pro No need for wrapper modules
Other build tools need wrapper modules to do certain tasks. The biggest disadvantage of these wrapper modules is that they bind you to a version of that tool. With Make you don't have that problem, there's no need for wrappers and no tools to bind you to a version, you can use any version of Make that you want.
Cons
Con Doesn't run on Windows by default
Make requires Cygwin/msys2/MinGW/GnuWin32 to run on Windows.
Con Steep learning curve
The learning curve is rather steep and the documentation could be improved. If it weren't for the wealth of free software projects that help demonstrate how the tool can and should be used, the task of picking autotools would be very hard.
Con Recursive make
"Recursive make" is a common makefile coding pattern which is used to invoke another session of make. Since a session of make only read in one top-level makefile, this is an easy and natural way to build makefiles for projects made of several submodules.
But this pattern causes a lot of problems mainly that you need to partition the dependency tree into several smaller trees. This prevents dependencies from being expressed correctly between instances. This also causes parts of the dependency tree to be calculated multiple times which makes performance suffer. This and many other problems related to recursive make are explained very well in a classic article called Recursive Make Considered Harmful.