#!/bin/sh -eu # A target must be rebuilt when a non-existence dependency exists. >all.do printf 'redo-ifchange a\n' >a.do printf 'test -e b || redo-ifcreate b\ndate +%s\n' redo b : sleep 1 redo