$(shell \ if test ! -f include-dynamic.inc; then \ echo "TESTVAR = oldval" > include-dynamic.inc; \ sleep 2; \ echo "TESTVAR = newval" > include-dynamic.inc.in; \ fi \ ) # before running the 'all' rule, we should be rebuilding include-dynamic.inc, # because there is a rule to do so all: test $(TESTVAR) = newval test "$(MAKE_RESTARTS)" = 1 @echo TEST-PASS include-dynamic.inc: include-dynamic.inc.in test "$(MAKE_RESTARTS)" = "" cp $< $@ include include-dynamic.inc