automake-1.16: Why Autotools

 
 2.3 How Autotools Help
 ======================
 
 There are several reasons why you may not want to implement the GNU
 Build System yourself (read: write a ‘configure’ script and ‘Makefile’s
 yourself).
 
    • As we have seen, the GNU Build System has a lot of features (⇒
      Use Cases).  Some users may expect features you have not
      implemented because you did not need them.
    • Implementing these features portably is difficult and exhausting.
      Think of writing portable shell scripts, and portable ‘Makefile’s,
      for systems you may not have handy.  ⇒Portable Shell
      Programming (autoconf)Portable Shell, to convince yourself.
    • You will have to upgrade your setup to follow changes to the GNU
      Coding Standards.
 
    The GNU Autotools take all this burden off your back and provide:
 
    • Tools to create a portable, complete, and self-contained GNU Build
      System, from simple instructions.  _Self-contained_ meaning the
      resulting build system does not require the GNU Autotools.
    • A central place where fixes and improvements are made: a bug-fix
      for a portability issue will benefit every package.
 
    Yet there also exist reasons why you may want NOT to use the
 Autotools...  For instance you may be already using (or used to) another
 incompatible build system.  Autotools will only be useful if you do
 accept the concepts of the GNU Build System.  People who have their own
 idea of how a build system should work will feel frustrated by the
 Autotools.