O'Reilly logo

Managing Projects with GNU Make, 3rd Edition by Robert Mecklenburg

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Appendix E. O’Reilly®: Managing Projects with GNU Make

Unix Programming

image with no caption

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 make, you 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 fully explored in this book. GNU make 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.

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

image with no caption
image with no caption

Free online edition for 45 days with purchase of this book. Details on last page.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required