Books & Videos

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 Running make

    2. Appendix The Outer Limits

      1. Data Structures
      2. Arithmetic
    3. Appendix 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. Appendix About the Author

  2. Appendix O’Reilly®: Managing Projects with GNU Make

  3. Colophon