Managing Projects with GNU Make
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

  1. Basic Concepts

    1. Chapter 1 How to Write a Simple Makefile

      1. Targets and Prerequisites
      2. Dependency Checking
      3. Minimizing Rebuilds
      4. Invoking make
      5. Basic Makefile Syntax
    2. Chapter 2 Rules

      1. Explicit Rules
      2. Variables
      3. Finding Files with VPATH and vpath
      4. Pattern Rules
      5. The Implicit Rules Database
      6. Special Targets
      7. Automatic Dependency Generation
      8. Managing Libraries
    3. Chapter 3 Variables and Macros

      1. What Variables Are Used For
      2. Variable Types
      3. Macros
      4. When Variables Are Expanded
      5. Target- and Pattern-Specific Variables
      6. Where Variables Come From
      7. Conditional and include Processing
      8. Standard make Variables
    4. Chapter 4 Functions

      1. User-Defined Functions
      2. Built-in Functions
      3. Advanced User-Defined Functions
    5. Chapter 5 Commands

      1. Parsing Commands
      2. Which Shell to Use
      3. Empty Commands
      4. Command Environment
      5. Evaluating Commands
      6. Command-Line Limits
  2. Advanced and Specialized Topics

    1. Chapter 6 Managing Large Projects

      1. Recursive make
      2. Nonrecursive make
      3. Components of Large Systems
      4. Filesystem Layout
      5. Automating Builds and Testing
    2. Chapter 7 Portable Makefiles

      1. Portability Issues
      2. Cygwin
      3. Managing Programs and Files
      4. Working with Nonportable Tools
      5. Automake
    3. Chapter 8 C and C++

      1. Separating Source and Binary
      2. Read-Only Source
      3. Dependency Generation
      4. Supporting Multiple Binary Trees
      5. Partial Source Trees
      6. Reference Builds, Libraries, and Installers
    4. Chapter 9 Java

      1. Alternatives to make
      2. A Generic Java Makefile
      3. Compiling Java
      4. Managing Jars
      5. Reference Trees and Third-Party Jars
      6. Enterprise JavaBeans
    5. Chapter 10 Improving the Performance of make

      1. Benchmarking
      2. Identifying and Handling Bottlenecks
      3. Parallel make
      4. Distributed make
    6. Chapter 11 Example Makefiles

      1. The Book Makefile
      2. The Linux Kernel Makefile
    7. Chapter 12 Debugging Makefiles

      1. Debugging Features of make
      2. Writing Code for Debugging
      3. Common Error Messages
  3. Appendixes

    1. Appendix A Running make

    2. Appendix B The Outer Limits

      1. Data Structures
      2. Arithmetic
    3. Appendix C GNU Free Documentation License—GNU Project—Free Software Foundation (FSF)

      1. 0. PREAMBLE
      2. 1. APPLICABILITY AND DEFINITIONS
      3. 2. VERBATIM COPYING
      4. 3. COPYING IN QUANTITY
      5. 4. MODIFICATIONS
      6. 5. COMBINING DOCUMENTS
      7. 6. COLLECTIONS OF DOCUMENTS
      8. 7. AGGREGATION WITH INDEPENDENT WORKS
      9. 8. TRANSLATION
      10. 9. TERMINATION
      11. 10. FUTURE REVISIONS OF THIS LICENSE
  1. Colophon

Return to Managing Projects with GNU Make