1.4 How this book is organized
Like any good tutorial, this book starts with an explanation of simple
concepts and builds on these fundamentals to progress to advanced topics.
Part I of the book provides a history of the development of these
tools and why they exist.
Part II contains most of the book's content, starting with an
introduction to concepts such as `Makefile's and configuration
triplets. Later chapters introduce each tool and how to manage projects
of varying sizes using the tools in concert. Programs written in C and
C++ can be non-portable if written carelessly. Chapters 14 and 15 offer
guidelines for writing portable programs in C and C++, respectively.
Part III provides information that you are unlikely to find in any other
documentation, that is based on extensive experience with the tools. It
embodies chapters that treat some advanced, yet essential, concepts such
m4 macro processor and how to write portable Bourne
shell scripts. Chapter 23 outlines how to migrate an existing package
to the GNU Autotools framework and will be of interest to many developers.
One of the most mystifying aspects of using the GNU Autotools for building
packages in a cross-compilation environment. This is de-mystified in