Authored on: Mar 15, 2013
This whitepaper looks at solutions to the dependency problem in Make and GNU Make - the de-facto build tool of choice for many software development teams. The paper identifies the key problems in Make dependency management and explains how solving these problems helps achieve faster and accurate software build times.
The author of this whitepaper, John Graham-Cumming, Co-Founder of Electric Cloud, Inc. discusses how to automate and optimize dependencies between files in a software build. Three main types of dependencies are discussed: those that exist between source and object files (that are used to regenerate objects when source changes), those that exist between objects (for example, used to drive a linker), and dependencies at the module or project level.
The paper is technical in nature and aimed at someone with a general familiarity of Make. Experienced users of GNU Make should find the examples of interest.