Ask Mr. Make - Articles on makefile optimization, build management and acceleration, etc.
An Automatic Make Facility - Holyer and Pehlivan 2000 - Program uses no makefile. It records manually-issued compilation commands the first time round, then rebuilds programs using recorded command traces.
A Case For Make - Fowler 1990 - Explains many old-make limitations and new-make (Nmake) features including procedure rules, accuracy mechanisms, viewpathing, and semaphores for blocking unwanted parallelism.
Compare and Contrast Lucent Nmake and GNU Make - Lucent FAQ - Summarizes the function and typical syntax of many make features, using a convenient table format.
Distcc, A Fast Free Distributed Compiler - Pool 2003 - This paper describes a distributed compiler for C/C++ programs, and provides a good discussion of key issues related to parallel, distributed software builds.
The Fourth Generation Make - Fowler 1985 - A new make tool with support for CPP, dependency generation, compiled makefiles, parallel execution, pathname parsing operators, and a powerful metalanguage for builtin rules.
Make - A Program For Maintaining Computer Programs - Feldman 1979 - The original make paper, including makefile syntax, implicit rules, double colon targets, macros, VPATH macro, and the usual cleanup and install targets.
Make It - Generating and Maintaining Makefiles Automatically - Schönherr and Wolff 1998 - A set of makefile dependency generator tools for working with files written in Knuth's Literate Programming style.
Makefile Setup for Java - Geosoft - A GNU Make and shell script setup for Java. Features dependency scanning, class files, JAR archives, JNI interfaces, RMI stub and skeletons, and Javadoc.
Parallel and Distributed Compilations in Loosely-Coupled Systems - A Case Study - Baalbergen 1986 - Distributing machine specific compilation phases among machines with a distributed make program is about 3.5 times faster.
PGMAKE: A Portable Distributed Make System - Lih and Zadok 1994 - Reports design issues and results of modifying GNU Make to do distributed makes using the Oakridge PVM Parallel Virtual Machine.
Recursive Make Considered Harmful - Miller 1997 - An argument against using recursive make techniques in the presence of cyclic dependencies among project subdirectories.
Recursive vs Non-recursive Makefile Architecture Speed Comparison - Kolpackov 2004 - This document compares recursive and non-recursive build systems (GNU make -j N) for building 277 software files in 15 directories using various combinations of parallelism and hardware. Non-recursive builds are faster.
Software Builds - Codefast - Contains many articles on software build topics such as problem scope, stakeholder design viewpoints, directory structures, architecture models, makefile generator tools and software build methods.