up
•
Table of Contents
•
Index
•
Reviews
•
Examples
•
Reader Reviews
•
Errata
•
Academic
Managing Projects with GNU make, 3rd Edition
By
Robert Mecklenburg
Publisher
: O'Reilly
Pub Date
: November 2004
ISBN
: 0-596-00610-1
Pages
: 320
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
Part I: Basic Concepts
Chapter 1. How to Write a Simple Makefile
Section 1.1. Targets and Prerequisites
Section 1.2. Dependency Checking
Section 1.3. Minimizing Rebuilds
Section 1.4. Invoking make
Section 1.5. Basic Makefile Syntax
Chapter 2. Rules
Section 2.1. Explicit Rules
Section 2.2. Variables
Section 2.3. Finding Files with VPATH and vpath
Section 2.4. Pattern Rules
Section 2.5. The Implicit Rules Database
Section 2.6. Special Targets
Section 2.7. Automatic Dependency Generation
Section 2.8. Managing Libraries
Chapter 3. Variables and Macros
Section 3.1. What Variables Are Used For
Section 3.2. Variable Types
Section 3.3. Macros
Section 3.4. When Variables Are Expanded
Section 3.5. Target- and Pattern-Specific Variables
Section 3.6. Where Variables Come From
Section 3.7. Conditional and include Processing
Section 3.8. Standard make Variables
Chapter 4. Functions
Section 4.1. User-Defined Functions
Section 4.2. Built-in Functions
Section 4.3. Advanced User-Defined Functions
Chapter 5. Commands
Section 5.1. Parsing Commands
Section 5.2. Which Shell to Use
Section 5.3. Empty Commands
Section 5.4. Command Environment
Section 5.5. Evaluating Commands
Section 5.6. Command-Line Limits
Part II: Advanced and Specialized Topics
Chapter 6. Managing Large Projects
Section 6.1. Recursive make
Section 6.2. Nonrecursive make
Section 6.3. Components of Large Systems
Section 6.4. Filesystem Layout
Section 6.5. Automating Builds and Testing
Chapter 7. Portable Makefiles
Section 7.1. Portability Issues
Section 7.2. Cygwin
Section 7.3. Managing Programs and Files
Section 7.4. Working with Nonportable Tools
Section 7.5. Automake
Chapter 8. C and C++
Section 8.1. Separating Source and Binary
Section 8.2. Read-Only Source
Section 8.3. Dependency Generation
Section 8.4. Supporting Multiple Binary Trees
Section 8.5. Partial Source Trees
Section 8.6. Reference Builds, Libraries, and Installers
Chapter 9. Java
Section 9.1. Alternatives to make
Section 9.2. A Generic Java Makefile
Section 9.3. Compiling Java
Section 9.4. Managing Jars
Section 9.5. Reference Trees and Third-Party Jars
Section 9.6. Enterprise JavaBeans
Chapter 10. Improving the Performance of make
Section 10.1. Benchmarking
Section 10.2. Identifying and Handling Bottlenecks
Section 10.3. Parallel make
Section 10.4. Distributed make
Chapter 11. Example Makefiles
Section 11.1. The Book Makefile
Section 11.2. The Linux Kernel Makefile
Chapter 12. Debugging Makefiles
Section 12.1. Debugging Features of make
Section 12.2. Writing Code for Debugging
Section 12.3. Common Error Messages
Part III: Appendixes
Appendix A. Running make
Appendix B. The Outer Limits
Section B.1. Data Structures
Section B.2. Arithmetic
Appendix C. GNU Free Documentation LicenseGNU ProjectFree Software Foundation (FSF)
Section C.1. 0. PREAMBLE
Section C.2. 1. APPLICABILITY AND DEFINITIONS
Section C.3. 2. VERBATIM COPYING
Section C.4. 3. COPYING IN QUANTITY
Section C.5. 4. MODIFICATIONS
Section C.6. 5. COMBINING DOCUMENTS
Section C.7. 6. COLLECTIONS OF DOCUMENTS
Section C.8. 7. AGGREGATION WITH INDEPENDENT WORKS
Section C.9. 8. TRANSLATION
Section C.10. 9. TERMINATION
Section C.11. 10. FUTURE REVISIONS OF THIS LICENSE
Colophon
Index
up