ABSTRACT

Keeping track of programs that process multiple data files is an error prone process that should be automated to minimize mistakes. Build-managers such as Make can keep track of file dependencies in the analysis pipelines and run our programs automatically to update files that are out of date. A build rule has targets, prerequisites, and a recipe. A target can be a file or a phony target that triggers an action. When a target is out of date with respect to its prerequisites, Make executesthe recipe associated with its rule. Make defines a few convenience variables such as (target), (all prerequisites), and (first prerequisite). Makefiles can also use wildcard matching of file names and functions such as for increased flexibility. As always it is important to document the code and Make uses specially-formatted comments to create self-documenting Makefiles.