Managing Projects with GNU Make, Third Edition
By
Robert Mecklenburg
November 2004
Pages: 300
| Table of Contents
| Index
| Sample Chapter
| Online Book
| Colophon
Table of Contents
-
Basic Concepts
-
Chapter 1 How to Write a Simple Makefile
- Targets and Prerequisites
- Dependency Checking
- Minimizing Rebuilds
- Invoking make
- Basic Makefile Syntax
-
Chapter 2 Rules
- Explicit Rules
- Variables
- Finding Files with VPATH and vpath
- Pattern Rules
- The Implicit Rules Database
- Special Targets
- Automatic Dependency Generation
- Managing Libraries
-
Chapter 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
-
Chapter 4 Functions
- User-Defined Functions
- Built-in Functions
- Advanced User-Defined Functions
-
Chapter 5 Commands
- Parsing Commands
- Which Shell to Use
- Empty Commands
- Command Environment
- Evaluating Commands
- Command-Line Limits
-
Advanced and Specialized Topics
-
Chapter 6 Managing Large Projects
- Recursive make
- Nonrecursive make
- Components of Large Systems
- Filesystem Layout
- Automating Builds and Testing
-
Chapter 7 Portable Makefiles
- Portability Issues
- Cygwin
- Managing Programs and Files
- Working with Nonportable Tools
- Automake
-
Chapter 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
-
Chapter 9 Java
- Alternatives to make
- A Generic Java Makefile
- Compiling Java
- Managing Jars
- Reference Trees and Third-Party Jars
- Enterprise JavaBeans
-
Chapter 10 Improving the Performance of make
- Benchmarking
- Identifying and Handling Bottlenecks
- Parallel make
- Distributed make
-
Chapter 11 Example Makefiles
- The Book Makefile
- The Linux Kernel Makefile
-
Chapter 12 Debugging Makefiles
- Debugging Features of make
- Writing Code for Debugging
- Common Error Messages
-
Appendixes
-
Appendix A Running make
-
Appendix B The Outer Limits
- Data Structures
- Arithmetic
-
Appendix C 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
Return to Managing Projects with GNU Make