Bostock wrote a post a while back about documenting a build process using make. I applied it today to document a build process to create a sqlite file from a bunch of CSV.

The makefile looks like this:

all: ./sql.db ./summary-stats.json

./sql.db: ./dataset-a.csv
  bash create-sqlite-from-csv.sh ./dataset-a.csv ./sql.db
  touch ./dist/data/sql.db

./summary-stats.json: ./dataset-a.csv
  node summarize.js ./dataset-a.csv
  touch ./summary-stats

all is helpful here because now I can put all of these rules in one file, even if they are not necessarily related.