Managing Projects with Make: The Power of GNU Make for Building Anything

Managing Projects with Make: The Power of GNU Make for Building Anything

Paperback Nutshell Handbooks

By (author) Robert Mecklenburg, By (author) Andy Oram, By (author) Steve Talbott

$28.51
List price $40.60
You save $12.09 29% off

Free delivery worldwide
Available
Dispatched in 4 business days
When will my order arrive?

  • Publisher: O'Reilly Media, Inc, USA
  • Format: Paperback | 302 pages
  • Dimensions: 178mm x 233mm x 16mm | 485g
  • Publication date: 1 December 2004
  • Publication City/Country: Sebastopol
  • ISBN 10: 0596006101
  • ISBN 13: 9780596006105
  • Edition: 3, Revised
  • Edition statement: 3rd Revised edition
  • Illustrations note: 1, black & white illustrations
  • Sales rank: 288,292

Product description

The utility simply known as make is one of the most enduring features of both Unix and other operating systems. First invented in the 1970s, make still turns up to this day as the central engine in most programming projects; it even builds the Linux kernel. In the third edition of the classic Managing Projects with GNU make, readers will learn why this utility continues to hold its top position in project build software, despite many younger competitors. The premise behind make is simple: after you change source files and want to rebuild your program or other output files, make checks timestamps to see what has changed and rebuilds just what you need, without wasting time rebuilding other files. But on top of this simple principle, make layers a rich collection of options that lets you manipulate multiple directories, build different versions of programs for different platforms, and customize your builds in other ways. This edition focuses on the GNU version of make, which has deservedly become the industry standard. GNU make contains powerful extensions that are explored in this book. It is also popular because it is free software and provides a version for almost every platform, including a version for Microsoft Windows as part of the free Cygwin project. Managing Projects with GNU make, 3rd Edition provides guidelines on meeting the needs of large, modern projects. Also added are a number of interesting advanced topics such as portability, parallelism, and use with Java. Robert Mecklenburg, author of the third edition, has used make for decades with a variety of platforms and languages. In this book he zealously lays forth how to get your builds to be as efficient as possible, reduce maintenance, avoid errors, and thoroughly understand what make is doing. Chapters on C++ and Java provide makefile entries optimized for projects in those languages. The author even includes a discussion of the makefile used to build the book.

Other people who viewed this bought:

Showing items 1 to 10 of 10

Other books in this category

Showing items 1 to 11 of 11
Categories:

Author information

Andy Oram is an editor at O'Reilly & Associates, specializing in books on Linux and programming. Most recently, he edited Peer-to-Peer: Harnessing the Power of Disruptive Technologies. Stephen L. Talbott went from Presidential Scholar to farmer, and from editing an interdisciplinary, scholarly journal about the catastrophist theories of Immanual Velikovsky, to fourteen years working in the computer industry. Mr. Talbott recently moved with his family from the Boston technology belt to rural New York, where his efforts to reach an accommodation with his computer continue.

Table of contents

Foreword 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;