LWN.net Logo

"Managing Projects with GNU Make" Released by O'Reilly

From:  "Kathryn Barrett" <kathrynb-AT-oreilly.com>
To:  lwn-AT-lwn.net
Subject:  "Managing Projects with GNU Make" Released by O'Reilly
Date:  Thu, 16 Dec 2004 12:16:33 -0800

For Immediate Release
For more information, a review copy, cover art, or an interview with
the author, contact:
Kathryn Barrett (707) 827-7094 or kathrynb@oreilly.com
	
Use the Power of GNU Make to Build Anything
O'Reilly Releases "Managing Projects with GNU Make"

Sebastopol, CA--As software becomes more complex, the tools that
programmers use and their mastery of them play a large part in their
success rate. One of the most enduring tools is the utility known simply
as "make." First invented in 1970, make still turns up as the central
engine in most programming projects; it even builds the Linux kernel. And
although it's not what many would consider a power tool, countless
programmers swear by it. "Make is arguably one of the most important tools
a programmer has, next to his editor, compiler, and debugger, in that
order," says Robert Mecklenburg, author of the new edition of "Managing
Projects with GNU Make, Third Edition" (O'Reilly, US 29.95).

The premise behind make is as simple as its name: 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.  In addition to 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 completely revised and updated edition focuses on the GNU version of
make, which has deservedly become the industry standard. "Traditional make
is often viewed as being hopelessly outdated," explains Mecklenburg.
"Thus, developers have been abandoning it for newer tools such as cmake,
scion, and Ant. GNU make is a fully backward-compatible make that doesn't
suffer from the lack of features many developers attribute to traditional
make. Therefore, there's no reason to embark on developing new tools,
learning new syntax, or tripping over new bugs."

Mecklenburg notes that in its latest release, GNU make added the eval
function, which dramatically extends its capabilities: "This new feature,
along with its many other unique features, demands a reassessment of
make's role in the software development process. Unless the full
capabilities of the tool are understood by developers, they can't make
informed choices about how their projects should be realized."

Few programmers understand make as well as Mecklenburg does. He recounts
an incident in which he was training a programmer in maintaining the build
system for a large project: "As we delved further into the makefile he
would stare, wide-eyed and say, 'This isn't make!' or 'Make can't do
that!' Of course, that's the normal reaction of people who learned make in
the 70s, 80s, or 90s and never went back to learn make's new features."
Mecklenburg also notes that the universal reaction to the make object
system he developed--which he describes in the appendix of his book--is,
"Make is not a programming language!" and "That's unnatural!"

"Managing Projects with GNU Make" shows developers how to get their 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 areas. Mecklenburg even
includes a discussion of the makefile used to build this book. It's a
must-read for anyone who uses make.

Praise for the previous edition:

 "'Managing Projects with make' is an excellent guide to this amazingly
useful tool. Indeed the book deserves to be rated right up there with the
camel and the bat as a classic in the O'Reilly bestiary."
--Dan Hanks, Provo LUG, July 2002

"I use make very frequently in my day-to-day work and thought I knew
everything that I needed to know about it. After reading this book I
realized that I was wrong!"
--Rob Henley, Siemens-Nixdorf

"If you can't pick up your system's yp makefile, read every line, and make
sense of it, you need this book."
--Root Journal, Sept/Oct 1990

Additional Resources:

Chapter 12, "Debugging Makefiles," is available online at:
http://www.oreilly.com/catalog/make3/chapter/index.html

For more information about the book, including table of contents, index,
author bio, and samples, see:
http://www.oreilly.com/catalog/make3/index.html

For a cover graphic in JPEG format, go to:
ftp://ftp.ora.com/pub/graphics/book_covers/hi-res/0596006...

Managing Projects with GNU Make, Third Edition
Robert Mecklenburg
ISBN: 0-596-00610-1, 280 pages, $29.95 US, $43.95 CA
order@oreilly.com
1-800-998-9938
1-707-827-7000
http://www.oreilly.com

About O'Reilly
O'Reilly Media, Inc. is the premier information source for leading-edge
computer technologies. The company's books, conferences, and web sites
bring to light the knowledge of technology innovators. O'Reilly books,
known for the animals on their covers, occupy a treasured place on the
shelves of the developers building the next generation of software.
O'Reilly conferences and summits bring alpha geeks and forward-thinking
business leaders together to shape the revolutionary ideas that spark new
industries. From the Internet to XML, open source, .NET, Java, and web
services, O'Reilly puts technologies on the map. For more information:
http://www.oreilly.com

# # #

O'Reilly is a registered trademark of O'Reilly Media, Inc. All other
trademarks are property of their respective owners. 


(Log in to post comments)

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds