Previous Section up Next Section

   
•  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 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
Previous Section up Next Section