Resources for “Make”#

Manual#

Discussions#

Blogs#

Of course we are not the first to suggest the use of Make for reproducibility! The blog posts cited below were found after the above tutorial was written, but can add further information and examples.

Tools#

Alternatives to Make#

There are many alternatives to Make. Below are some that caught our eye and that might be worth a look.

  • SnakeMake. A Python3-based alternative to Make. Snakemake supports multiple wildcards in filenames, supports Python code in rules, and can run workflows on workstations, clusters, the grid, and in the cloud without modification.

  • Tup. A fast build system that processes prerequisites bottom-up instead of Make’s top-down. The speed looks impressive and the paper describing it is interesting, but for small projects Make’s speed will not be a bottleneck. The Tupfile syntax is not compatible with that of Makefiles.

  • Bazel. An open-source version of Google’s Blaze build system.

  • Buck. Facebook’s build system.