Description
Book Synopsis'Managing Projects with GNU Make', 3rd edition provides guidelines on meeting the needs of large, modern projects. This edition focuses on the GNU version of make, which has deservedly become the industry standard. GNU's powerful extensions are explored in this book, including a number of interesting advanced topics.
Table of ContentsForeword Preface Part I. Basic Concepts 1. How to Write a Simple Makefile Targets and Prerequisites Dependency Checking; Minimizing Rebuilds Invoking make Basic Makefile Syntax; 2. Rules Explicit Rules Variables Finding Files with VPATH and vpath Pattern Rules The Implicit Rules Database Special Targets Automatic Dependency Generation Managing Libraries; 3. Variables and Macros What Variables Are Used For Variable Types Macros When Variables Are Expanded Target- and Pattern-Specific Variables Where Variables Come From Conditional and include Processing Standard make Variables 4. Functions; User-Defined Functions Built-in Functions Advanced User-Defined Functions 5. Commands Parsing Commands Which Shell to Use; Empty Commands Command Environment Evaluating Commands; Command-Line Limits Part II. Advanced and Specialized Topics; 6. Managing Large Projects Recursive make Nonrecursive make; Components of Large Systems Filesystem Layout Automating Builds and Testing 7. Portable Makefiles Portability Issues; Cygwin Managing Programs and Files Working with Nonportable Tools Automake 8. C and C++ Separating Source and Binary; Read-Only Source Dependency Generation Supporting Multiple Binary Trees Partial Source Trees Reference Builds, Libraries, and Installers 9. Java Alternatives to make A Generic Java Makefile Compiling Java Managing Jars Reference Trees and Third-Party Jars Enterprise JavaBeans 10. Improving the Performance of make Benchmarking Identifying and Handling Bottlenecks Parallel make Distributed make 11. Example Makefiles The Book Makefile The Linux Kernel Makefile; 12. Debugging Makefiles Debugging Features of make Writing Code for Debugging Common Error Messages Part III. Appendixes; A. Running make B. The Outer Limits C. GNU Free Documentation License-GNU Project-Free Software Foundation (FSF) Index;