setup: touch B.hs A.hs sleep 2 touch B.hi B.dyn_hi sleep 2 touch B.o B.dyn_o sleep 2 touch A.dyn_hi sleep 2 touch A.o A.dyn_o A.o: B.hi %.hi : %.o %.hs true 1 $@ $< %.dyn_o: %.hi true 2 $@ $< %.dyn_hi : %.dyn_o %.hs true u $@ $< so : A.dyn_o false 1