Cake Use a Cakefile to define a list of targets, the targets they depend on and steps (in the form of shell commands) to accomplish each one. Cake builds and sorts a DAG before processing your targets in topological order! Build make cake Test ./cake.out