all: foo bar qux

S = $(shell :)

.SECONDARY:

foo1:
	@echo foo1 $(call S)

foo: foo1
	@echo start foo
	@sleep 1
	@echo foo
	@touch foo

bar1:
	@echo bar1 $(call S)

bar: bar1
	@echo bar

qux: foo
	@echo qux
