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.