#!/bin/sh -eu # A target must be rebuilt when a dependency of a dependency changes. >all.do printf 'redo-ifchange a\n' >a.do printf 'redo-ifchange b\ndate +%s\n' >b.do printf 'redo-ifchange c\ndate +%s\n' >c printf '1' redo c printf '2' redo