Appendix A. Documenting Commands and Creating Workflows with make

The make program was created in 1976 to help build executable programs from source code files. Though it was originally developed to assist with programming in the C language, it is not limited to that language or even to the task of compiling code. According to the manual, one “can use it to describe any task where some files must be updated automatically from others whenever the others change.” The make program has evolved far beyond its role as a build tool to become a workflow system.

Makefiles Are Recipes

When you run the make command, it looks for a file called Makefile (or makefile) in the current working directory. This file contains recipes that describe discrete actions that combine to create some output. Think of how a recipe for a lemon meringue pie has steps that need to be completed in a particular order and combination. For instance, I need to separately create the crust, filling, and meringue and then put them together and bake them before I can enjoy a tasty treat. I can visualize this with something called a string diagram, as illustrated in Figure A-1.

mpfb aa01
Figure A-1. A string diagram describing how to make a pie, adapted from Brendan Fong and David Spivak, An Invitation to Applied Category Theory (Seven Sketches in Compositionality), Cambridge University Press, 2019

It’s not important if ...

Get Mastering Python for Bioinformatics now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.