| | 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 License ”GNU Project ”Free 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 |