++
--
Introduction
Managing Projects with GNU make, 3rd Edition
Table of Contents
Copyright
Foreword
Dedication
Preface
The Road to the Third Edition
What's New in This Edition
Conventions Used in This Book
Using Code Examples
Comments and Questions
Acknowledgments
Basic Concepts
How to Write a Simple Makefile
Targets and Prerequisites
Dependency Checking
Minimizing Rebuilds
Invoking make
Basic Makefile Syntax
Rules
Explicit Rules
Variables
Finding Files with VPATH and vpath
Pattern Rules
The Implicit Rules Database
Special Targets
Automatic Dependency Generation
Managing Libraries
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
Functions
User-Defined Functions
Built-in Functions
Advanced User-Defined Functions
Commands
Parsing Commands
Which Shell to Use
Empty Commands
Command Environment
Evaluating Commands
Command-Line Limits
Advanced and Specialized Topics
Managing Large Projects
Recursive make
Nonrecursive make
Components of Large Systems
Filesystem Layout
Automating Builds and Testing
Portable Makefiles
Portability Issues
Cygwin
Managing Programs and Files
Working with Nonportable Tools
Automake
C and C++
Separating Source and Binary
Read-Only Source
Dependency Generation
Supporting Multiple Binary Trees
Partial Source Trees
Reference Builds, Libraries, and Installers
Java
Alternatives to make
A Generic Java Makefile
Compiling Java
Managing Jars
Reference Trees and Third-Party Jars
Enterprise JavaBeans
Improving the Performance of make
Benchmarking
Identifying and Handling Bottlenecks
Parallel make
Distributed make
Example Makefiles
The Book Makefile
The Linux Kernel Makefile
Debugging Makefiles
Debugging Features of make
Writing Code for Debugging
Common Error Messages
Appendixes
Running make
The Outer Limits
Data Structures
Arithmetic
GNU Free Documentation License-GNU Project-Free Software Foundation (FSF)
0. PREAMBLE
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
4. MODIFICATIONS
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
8. TRANSLATION
9. TERMINATION
10. FUTURE REVISIONS OF THIS LICENSE
Colophon
Index
SYMBOL
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X