Jump to ratings and reviews
Rate this book

Managing Projects with GNU Make

Rate this book
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 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.

300 pages, Paperback

First published November 19, 2004

41 people are currently reading
119 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
20 (20%)
4 stars
39 (39%)
3 stars
30 (30%)
2 stars
10 (10%)
1 star
0 (0%)
Displaying 1 - 11 of 11 reviews
Profile Image for Keith.
170 reviews19 followers
October 11, 2013
Some may find it difficult to evaluate this book apart from Make the tool. I just like reading technical manuals. If you use Make or might use Make this is an excellent book to read. If you do not want to use Make read this anyway just so you can explain why some other build tool is better suited to your needs. In the hands of the truly genius unafraid of complexity this book can help create quite a puzzle for engineers that come after. I would urge users of any build tool to consider how best to design in and exploit information inherent in the filesystem organization of input build artifacts before making their build more complicated. This text touches upon the subject but is far from comprehensive.

Some of my reading notes:

- Read through before using as a reference
- Lots of examples of what not to do which tells a good story but makes for dangerous reference if you're not careful
- Any typos while seemingly unavoidable are all that much more painful when in command line and code examples
- You will remember page 16. Why not put a handy table of automatic variables on the front or back inside cover?
Profile Image for Michael.
Author 8 books595 followers
September 5, 2012
I defy you to learn how to manage projects with GNU Make by reading this book.
Profile Image for Itai.
202 reviews3 followers
January 26, 2023
I've read the first part (chapters 1-5) in it's entirety and I cannot stress enough how invaluable the knowledge here is. Even though 'make' feels like an outdated tool, I've seen it used today in many systems. Copying and pasting from other makefiles will only bring you so far, and once you've hit upon a true difficulty, where you need to build a system from scratch, linking with custom libraries and LSPs, you HAVE to know the nitty-gritty details of how 'make' works. This book is the perfect place to start. Not if you're a beginner, but if you've hit that wall I'm describing. Understanding targets, prerequisites, rules, variables, phony targets, recursive make, and more - all of these are explained clearly and succinctly.

This is a must read for anyone using 'make' anywhere in their projects, and even for those that want to use more modern build systems. I do not recommend this book to beginners, or people who haven't encountered 'make' "in the wild".

I admit I've only skimmed the later parts of the book, but will definitely come back to the book once I need a helping hand in anything 'make' related.
4 reviews
Read
June 29, 2018
It's a good book for start learning Make Files from Scratch to advanced, it shows you the power of make and add new knowledge which you'll not found in many sites that talked about Make, like improving performance, how to make it portable and how to debug it, also it list some of common Errors.
the book start with Hello World Make File then go throw more rules,variables, commands and function then go throw advanced topics like make it portable, faster and how to debug it, last chapter have many advanced example of Make Files.
This Book like gnu manual but the information well explained with many example.
Profile Image for Wes Mason.
2 reviews3 followers
February 12, 2015
A very decent technical manual, regardless of personal opinions about the GNU Make tool itself. Concise and with readily useable examples throughout.
5 reviews
April 5, 2025
2nd Ed. is quite old, but even when it was new, this book was great. I enjoyed learning about make - and learned that I should avoid make for any new projects. The book makes it very clear that compatibility is a nightmare, the syntax is awful, yet it is an excellent reference and detailed as a guide.

I recommend this for anyone considering make for future projects, and for anyone burdened by inheriting a project using make.
4 reviews1 follower
January 18, 2023
The GNU manual for Make is better for starting out
Profile Image for Nathan Campos.
15 reviews3 followers
March 29, 2013
Incredible book. The best way to describe it is "The beginner to advanced guide to GNU Make". Loved it and now I know everything to automate the building process in my projects.
Displaying 1 - 11 of 11 reviews

Can't find what you're looking for?

Get help and learn more about the design.