make is one of UNIX's greatest contributions to software development,
and this book is the clearest description of make ever written. Even
the smallest software project typically involves a number of files that
depend upon each other in various ways. If you modify one or more
source files, you must relink the program after recompiling some, but not
necessarily all, of the sources.
make greatly simplifies this process. By recording the relationships
between sets of files, make can automatically perform all the necessary
updating.
For large projects with teams of programmers and multiple releases, make
becomes even more critical. But in order to avoid spending a major
portion of your maintenance budget on maintaining the Makefiles, you
need a system for handling directories, dependencies, and macro
definitions. This book describes all the basic features of make
and provides guidelines on meeting the needs of large, modern projects.
Some of the issues addressed in the second edition include:
- Projects covering several directories.
- Maintaining consistency when building variants of a program.
- Automatic generation of header file dependencies.
- Forced rebuilds of existing files.
- A description of free products that contain major enhancements to
make.
- Listings of the features that vary between different versions of make
and simple ways to test them.
- More detail and examples on common errors, use of the shell in make,
formal rules of syntax in make, and support for various utilities.
|