December 16, 2004
"Managing Projects with GNU Make": Use the Power of GNU Make to Build Anything
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
Managing Projects with GNU Make, Third Edition
ISBN: 0-596-00610-1, 280 pages, $29.95 US, $43.95 CA
O'Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O'Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying "faint signals" from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.
Return to: O'Reilly Press Room
Recent Press Releases
Press Release Archive »
Media Relations - North America
Media Relations - Germany
Media Relations - Japan
Media Relations - United Kingdom
Media Relations - Conferences