Here’s a nice little tutorial on the basics of how to use the GNU autoconf, automake, autoheader, and libtool tools:
Or if you’d rather get your hands on dead trees, then there’s this book, which I haven’t read, but it was recommended to me by a colleague.
GNU Autoconf, Automake, and Libtool
Topics covered:
- Introduction and history of Unix and configuration tools
- The configure tool
- Makefile and dependencies
- GNU autotools used for a simple program
- Porting options and configure.in
- Bootstrapping techniques
- Comprehensive introduction to the GNU libtool utility (building and linking options)
- Using libtool with configure.in and Makefile.am
- A larger GNU autotools project
- Distributing files in tarballs
- Installing and uninstalling packages
- Strategies and tips for writing portable C code with the GNU autotools (including data types, cross-Unix and Unix/Windows portability issues)
- Guide to C++ portability (includes issues with variable scoping, exceptions, template, and the Standard Template Library)
- Dynamic loading and the GNU libltdll tool
- Advanced automake tips
- A complex GNU autotools example (including dynamic linking)
- Introduction to M4 (the underlying language of the autotools)
- Script portability issues for the Bourne shell and its variants
- Cygnus’s Cygwin and the GNU autotools
- Cross-compilation techniques
- Reference for installing the GNU autotools
Or if you’d rather get your hands on dead trees, then there’s this book, which I haven’t read, but it was recommended to me by a colleague.
GNU Autoconf, Automake, and Libtool

Topics covered:
# Introduction and history of Unix and configuration tools
# The configure tool
# Makefile and dependencies
# GNU autotools used for a simple program
# Porting options and configure.in
# Bootstrapping techniques
# Comprehensive introduction to the GNU libtool utility (building and linking options)
# Using libtool with configure.in andmakefile.am
# A larger GNU autotools project
# Distributing files in tarballs
# Installing and uninstalling packages
# Strategies and tips for writing portable C code with the GNU autotools (including data types, cross-Unix and Unix/Windows portability issues)
# Guide to C++ portability (includes issues with variable scoping, exceptions, template, and the Standard Template Library)
# Dynamic loading and the GNU libltdll tool
# Advanced automake tips
# A complex GNU autotools example (including dynamic linking)
# Introduction to M4 (the underlying language of the autotools)
# Script portability issues for the Bourne shell and its variants
# Cygnus’s Cygwin and the GNU autotools
# Cross-compilation techniques
# Reference for installing the GNU autotools