Programming Books C Java PHP Python Learn more Browse Programming Books
Managing Projects with GNU Make (Nutshell Handbooks) and over one million other books are available for Amazon Kindle. Learn more

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player


Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $3.21 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Managing Projects with GNU Make (Nutshell Handbooks) on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Managing Projects with GNU Make (Nutshell Handbooks) [Paperback]

by Robert Mecklenburg
3.5 out of 5 stars  See all reviews (20 customer reviews)

List Price: $39.99
Price: $28.62 & FREE Shipping on orders over $35. Details
You Save: $11.37 (28%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Gift-wrap available.
Want it tomorrow, April 25? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Kindle Edition $17.27  
Paperback $28.62  
Technology Books from O'Reilly Media
Brush up on topics from programming to electronics for readers of all levels in the O'Reilly Media bookstore. Browse titles in the animal books, "Missing Manuals," "Head First," series, and more.

Book Description

November 26, 2004 0596006101 978-0596006105 3

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.

Frequently Bought Together

Managing Projects with GNU Make (Nutshell Handbooks) + An Introduction to GCC: For the GNU Compilers GCC and G++ + The Definitive Guide to GCC (Definitive Guides)
Price for all three: $82.61

Buy the selected items together

Customers Who Bought This Item Also Bought

Editorial Reviews

Book Description

The Power of GNU make for Building Anything

About the Author

Robert Mecklenburg began using Unix as a student in 1977 and has been programming professionally for 23 years. His make experience started in 1982 at NASA with Unix version 7. Robert received his Ph.D. in Computer Science from the University of Utah in 1991. Since then, he has worked in many fields ranging from mechanical CAD to bioinformatics, and he brings his extensive experience in C++, Java, and Lisp to bear on the problems of project management with make.

Product Details

  • Series: Nutshell Handbooks
  • Paperback: 302 pages
  • Publisher: O'Reilly Media; 3 edition (November 26, 2004)
  • Language: English
  • ISBN-10: 0596006101
  • ISBN-13: 978-0596006105
  • Product Dimensions: 9.1 x 7 x 0.7 inches
  • Shipping Weight: 1.1 pounds (View shipping rates and policies)
  • Average Customer Review: 3.5 out of 5 stars  See all reviews (20 customer reviews)
  • Amazon Best Sellers Rank: #151,777 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
72 of 73 people found the following review helpful
4.0 out of 5 stars A much needed, and enjoyable, book about GNU Make May 16, 2005
I write a lot of Makefiles. In fact, I write a lot of Makefiles using

GNU Make and finally there's a book to complement the Free Software

Foundation's excellent GNU Make user guide. Also, finally, O'Reilly

has updated what must have been the worst book in their entire line

up: "Managing Projects with make"

Robert Mecklenburg's "Managing Project with GNU Make" is a must have

book if you end up writing or maintaining GNU Make Makefiles with more

than 100 lines in them. You don't need it if all your Makefiles are

created using ./configure, but every serious Makefile hacker should

read this book.

That's not to say that the book is perfect. Far from it. I was

annoyed while reading the book by the author's frequent, annoying

small errors (e.g. on p. 58 the author states that CURDIR contains the

argument of --include-dir when in fact it contains the full path of

the directory where GNU Make is looking for Makefiles) and over use of

the $(eval) (more on $(eval) below). In fact, the number of errors in

the book were surprising for an O'Reilly tome and it looks like the

edition could use a good proof-reading. I've sent in a detailed list

to the O'Reilly folks but nothing appears on their Errata web site


The section that describes the new $(eval) and $(value) functions

available since GNU Make 3.80 is excellent (pp. 82-86). And the book

contains a good discussion of the problems inherent in using recursive

make (pp. 108-116) and how to implement a non-recursive make

(pp. 117-123).
Read more ›
Comment | 
Was this review helpful to you?
27 of 28 people found the following review helpful
1.0 out of 5 stars Terrible December 29, 2009
By K.
Format:Paperback|Verified Purchase
I have almost no experience with writing makefiles. All I've done is edit existing makefiles until they work without really knowing what I am doing. I bought this book to fill in my knowledge. There seems to be a lot of information in this book. Unfortunately, there is a lot of information not in the book that makes it difficult to follow his examples. For example, on p. 5 there is text in there that makes up the file 'lexer.l', but the author doesn't say this. He simply puts that text on the page, calls it a 'scanner', then I see something called 'lexer.l' in the makefile he is using. It took me a while to figure out that the 10 or so lines of text he called a 'scanner' was in fact 'lexer.l'.

The author continually does this for at least the first 20 pages, where it took me hours to figure out what files he used and what were supposed to be in the files. This should have only taken me as long as it takes to type the files into the computer. There are supposed to be five files: counter.h lexer.h count_words.c counter.c and lexer.l. I don't understand why the auther cannot simply say "the text below define *.*", then write it out, instead of making the reader guess at what he is talking about. On page 20 he talks about refactoring the 'main' program, but what he really means is creating a new file called 'counter.c' not rewriting the 'main' program in 'count_words.c'.

It's too bad the author has decided to write in such an ambiguous style because his explainations of make features are very good, unfortunately, I can't verify this using his examples because he thinks his readers can read his mind.

The frustration caused by this lack of explicitness for his examples is the reason I give this book one star.
Read more ›
Comment | 
Was this review helpful to you?
6 of 6 people found the following review helpful
3.0 out of 5 stars Does what it should do July 1, 2007
I've used make and makefiles for many years. In my current product development there was suddenly a need for a little more than the standard make knowledge. For most Open Source tools there is a good O'reilly book, so I grabbed this one from the store.

This book exactly fitted to my need. It does what it should do, it explain make, and nothing more. Already after part 1 I got useful new bits of information. Nothing major, just small "ah-ha, that's how the do it"'s.

The book is structured ok (I felt it could be structured better, but have no suggestion how). It consists of basic and advanced parts. The basic part will cover rules, variables, functions and commands. The advanced will talk about large project, C++, Java, examples and some debugging.

All the basic concepts chapters were pretty good. Somehow I didn't enjoy the advanced chapters too much. I didn't feel I was learning much new things there. The Java chapter was a little odd. I've not met any Java developer who currently uses make, most have switched to ant quite some time ago (book was 2004, so might be changed in the fourth edition). The example makefile of the book was somehow not interesting. The second example makefile was the linux kernel. This was more interesting, but it didn't go into too much details.

All in all, I found it a good book. It gave me exactly what I needed. Somehow the writing style was a little dry. I couldn't really point my finger on what made it so.

I'll give it 3 stars. Not because it's not good, but exactly because it's a good book. However, it didn't give me something extra, which I always hope a book gives me.

Recommended when needing to know more about Make :)
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
4.0 out of 5 stars The only reference book on Make that I use.
I use this as my main reference when using GNU Make. Excellent book for putting together simple to complex make files.
Published 5 months ago by Patrick
4.0 out of 5 stars Good Reference Manual for GNU Make (gmake)
Anyone doing software development in a Linux/UNIX environment has likely had to work with make files. Read more
Published 6 months ago by Matthew K. Morgan
4.0 out of 5 stars Good book. The information is there. The examples are not as clear as...
All the information you need is there. However, I think the examples are little lacking. If you already know make, this book will help you become an expert. Read more
Published 9 months ago by Karl M Bowles
1.0 out of 5 stars Not a good introduction
I do not recommend this book if you are new to gmake. It breaks the unwritten golden rule that new concepts should not be introduced using more advanced concepts not introduced... Read more
Published on September 19, 2011 by Brussels Lout
5.0 out of 5 stars Critical
Buy this book and keep it handy at all times if you are developing with gcc. I have been for 15 years and it taught me stuff I didn't know. Read more
Published on October 22, 2010 by Rockstrongo
4.0 out of 5 stars Well-written explanations of what I almost knew about Make
I had already read Richard Stallman's own GNU Make: A Program for Directed Compilation, which biases my review. Read more
Published on September 6, 2010 by talkaboutquality
4.0 out of 5 stars An embedded developer point of view
I use GNU make in all my embedded firmware projects, under Linux, DOS and Windows.
This is a good book if you already know a basic use of "make". Read more
Published on December 13, 2009 by Amazon Customer
3.0 out of 5 stars Most information is useful. Slightly disorganized, which causes a very...
Overall the book presents all the information you need to start using make - which is a lot of information. Read more
Published on July 17, 2009 by Aaron Smith
3.0 out of 5 stars Well organized, competent but uninspired and biased
Mr. Mecklernburg is definitely an expert in GNU Make and the book shows it. The information it contains is well organized and the author doesn't spend precious time on... Read more
Published on June 24, 2007 by FILIP Marius
4.0 out of 5 stars Excellent resource for programmers
Make has been an icon in the GNU / Linux world for over thirty years now, and continues to be one of the most used utilities to ever be released on the platform. Read more
Published on June 15, 2007 by Ben Hilburn
Search Customer Reviews
Only search this product's reviews


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category