Autotools, 2nd Edition

Autotools, 2nd Edition

A Practitioner's Guide to GNU Autoconf, Automake, and Libtool
by John Calcote
September 2019 (Estimated), 360 pp.

Order now and get early access to the PDF ebook!
(What's Early Access?)
(Which chapters are available now?)

Get 30% off with the coupon code EARLYBIRD

Autotools is the first book to offer programmers a tutorial-based guide to the GNU build system. The new and improved second edition of Autotools includes five new chapters on PkgConfig, unit testing with Autotest, internationalizing with GNU, the portability of gnulib, and using Autotools with Windows.

Autotools focuses on two projects: Jupiter, a simple "Hello, world!" program, and FLAIM, an existing, complex open source effort containing four separate but interdependent subprojects. Follow along as the author takes Jupiter's build system from a basic makefile to a full-fledged Autotools project, and then as he converts the FLAIM projects from complex hand-coded makefiles to the powerful and flexible GNU build system.

You'll learn how to:

  • Generate Autoconf configuration scripts to simplify the compilation process
  • Produce portable makefiles with Automake
  • Build cross-platform software libraries with Libtool
  • Write your own Autoconf macros

Leave the guesswork behind and master the Autotools build system with Autotools!

Author Bio 

John Calcote is currently a Senior Software Engineer at Hammerspace in Salt Lake City. He lives in the Provo, Utah area. He's been writing portable networking and storage software for over 25 years. His interests include open source software and participation in open source communities. He spends some of his free time playing around with Linux and the free software the runs on it. He also enjoys cooking and woodworking as hobbies.

Table of contents 

Now Available in Early Access!


Chapter 1: An End User’s Perspective on the GNU Autotools (AVAILABLE NOW!)
Chapter 2: A Brief Introduction to the GNU Autotools (AVAILABLE NOW!)
Chapter 3: Understanding the GNU Coding Standards (AVAILABLE NOW!)
Chapter 4: Configuring Your Project with Autoconf (AVAILABLE NOW!)
Chapter 5: More Fun with Autoconf: Configuring User Options (AVAILABLE NOW!)
Chapter 6: Automatic Makefiles with Automake (AVAILABLE NOW!)
Chapter 7: Building Libraries with Libtool (AVAILABLE NOW!)
Chapter 8: Library Interface Versioning and Runtime Dynamic Linking (AVAILABLE NOW!)
Chapter 9: Unit Interpretation Testing with Autotest (AVAILABLE NOW!)
Chapter 10: Finding Building Dependencies with pkg-config (AVAILABLE NOW!)
Chapter 11: Internalization (AVAILABLE NOW!)
Chapter 12: Localization (AVAILABLE NOW!)
Chapter 13: Maximum Portability with gnulib
Chapter 14: FLAIM: An Autotools Example
Chapter 15: FLAIM Part II: Pushing the Envelope
Chapter 16: Using the M4 Macro Processor with Autoconf
Chapter 17: Using Autotools with Windows
Chapter 18: A Catalog of Tips and Reusable Solutions for Creating Great Projects


"In my opinion you will find no better introduction to this complex subject."
Slashdot (Read More)

“If you’re a newcomer who wants to know how it works behind the scenes in detail, you just have to read it.”
Flameeyes's Weblog (Read More)