 |
Managing Projects with GNU Make, 3rd Edition View Larger Image | Robert Mecklenburg O'Reilly Media, Paperback, 3rd edition, Published November 2004, 280 pages, ISBN 0596006101 | List Price: $29.95 Our Price: $18.95 You Save: $11.00 (37% Off)
| | | Availability: Out-Of-Stock |
Be the First to Write a Review and tell the world about this title!People who purchase this book frequently purchase: - Classic Shell Scripting; Arnold Robbins, et al, $21.95, 37% Off!
- Learning the bash Shell, 3rd Edition; Cameron Newham, $21.95, 37% Off!
- Learning GNU Emacs, 3rd Edition; Debra Cameron, et al, $24.95, 38% Off!
- Understanding the Linux Kernel, 3rd Edition; Daniel P. Bovet, et al, $31.50, 37% Off!
Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
The utility simply known as make is one of the most enduring features of both
Unix and other operating systems. First invented in the 1970s, make still turns
up to this day as the central engine in most programming projects; it even builds
the Linux kernel. In the third edition of the classic Managing Projects with GNU
make, readers will learn why this utility continues to hold its top position in
project build software, despite many younger competitors.
The premise behind make is simple: after you change source files and want to
rebuild your program or other output files, make checks timestamps to see what
has changed and rebuilds just what you need, without wasting time rebuilding
other files. But on top of this simple principle, make layers a rich collection
of options that lets you manipulate multiple directories, build different versions
of programs for different platforms, and customize your builds in other ways.
This edition focuses on the GNU version of make, which has deservedly become
the industry standard. GNU make contains powerful extensions that are explored
in this book. It is also popular because it is free software and provides a
version for almost every platform, including a version for Microsoft Windows
as part of the free Cygwin project. Managing Projects with GNU make, 3rd Edition
provides guidelines on meeting the needs of large, modern projects. Also added
are a number of interesting advanced topics such as portability, parallelism,
and use with Java.
Robert Mecklenburg, author of the third edition, has used make for decades
with a variety of platforms and languages. In this book he zealously lays forth
how to get your builds to be as efficient as possible, reduce maintenance, avoid
errors, and thoroughly understand what make is doing. Chapters on C++ and Java
provide makefile entries optimized for projects in those languages. The author
even includes a discussion of the makefile used to build the book.
Table of Contents
Foreword
Preface
Part I. Basic Concepts
1. How to Write a Simple Makefile
Targets and Prerequisites
Dependency Checking
Minimizing Rebuilds
Invoking make
Basic Makefile Syntax
2. Rules
Explicit Rules
Variables
Finding Files with VPATH and vpath
Pattern Rules
The Implicit Rules Database
Special Targets
Automatic Dependency Generation
Managing Libraries
3. Variables and Macros
What Variables Are Used For
Variable Types
Macros
When Variables Are Expanded
Target- and Pattern-Specific Variables
Where Variables Come From
Conditional and include Processing
Standard make Variables
4. Functions
User-Defined Functions
Built-in Functions
Advanced User-Defined Functions
5. Commands
Parsing Commands
Which Shell to Use
Empty Commands
Command Environment
Evaluating Commands
Command-Line Limits
Part II. Advanced and Specialized Topics
6. Managing Large Projects
Recursive make
Nonrecursive make
Components of Large Systems
Filesystem Layout
Automating Builds and Testing
7. Portable Makefiles
Portability Issues
Cygwin
Managing Programs and Files
Working with Nonportable Tools
Automake
8. C and C++
Separating Source and Binary
Read-Only Source
Dependency Generation
Supporting Multiple Binary Trees
Partial Source Trees
Reference Builds, Libraries, and Installers
9. Java
Alternatives to make
A Generic Java Makefile
Compiling Java
Managing Jars
Reference Trees and Third-Party Jars
Enterprise JavaBeans
10. Improving the Performance of make
Benchmarking
Identifying and Handling Bottlenecks
Parallel make
Distributed make
11. Example Makefiles
The Book Makefile
The Linux Kernel Makefile
12. Debugging Makefiles
Debugging Features of make
Writing Code for Debugging
Common Error Messages
Part III. Appendixes
A. Running make
B. The Outer Limits
C. GNU Free Documentation License-GNU Project-Free Software Foundation (FSF)
Index
About the Author
Robert Mecklenburg began using Unix as a student in 1977 and
has been programming professionally for 23 years. His make experience started
in 1982 at NASA with Unix version 7. Robert received his Ph.D. in Computer Science
from the University of Utah in 1991. Since then, he has worked in many fields
ranging from mechanical CAD to bioinformatics, and he brings his extensive experience
in C++, Java, and Lisp to bear on the problems of project management with make.
|
 |