Small, Fast, & Simple

April 13, 2015



Make is a long-standing build utility. It allows build commands to be specified in terms of the files they depend on. If a dependent file has changed, the commands are run; if none of the files have changed, the output is considered up-to-date. It’s a much faster build pipeline than many modern tools, such as Rake and Grunt. Make has become my preferred way to document what shell commands build, test, and run my code, especially in compiled languages. Make steps can also be parameterized. The basics of Make are reasonably straight-forward, though mastery may take time.