When comparing GNU Make vs Autotools, the Slant community recommends GNU Make for most people. In the question“What are the best open-source build systems for C/C++?” GNU Make is ranked 3rd while Autotools is ranked 18th. The most important reason people chose GNU Make is:
Make takes advantage of the powerful UNIX shell, using it at it's full potential. STDIN and STDOUT are especially useful because of their versatility.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Uses the full power of the UNIX shell
Make takes advantage of the powerful UNIX shell, using it at it's full potential. STDIN and STDOUT are especially useful because of their versatility.
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.
Pro Works with more than just node.js
Since it's written in C and can be found in all UNIX-based systems it can be used on platforms other than node.js.
Pro Based on standard tools
It's a standard tool built over standard tools.
Pro Ubiquitous
It's a well established build system that is ubiquitous in the open source world.
Pro make distcheck
Build your project, run the tests, create a release tarball, unpack it with read-only sources, build it and run the tests. This should be the minimum standard for every build system, yet it seems hard to reach.
Pro Basic API for building anything: ./configure; make
The skills you learn for building one language still work when you build something else, even down to creating books for print from emacs org-mode.
Cons
Con Doesn't run on Windows by default
Make requires Cygwin/msys2/MinGW to run on Windows.
Con Perl
Autoconf is dependent on Perl.
Con Autotools is far too complicated
It seems to add far too much complexity to projects. The build system has a tendency to be more complex than the actual projects that it's being used to build.
Con Poor documentation
In spite of its many years of existence, the available documentation leaves much to be desired.