.POSIX: DIRS = \ async \ form \ headers \ hello \ html \ put all: FORCE +for d in $(DIRS); do (cd $$d && $(MAKE)); done clean: FORCE +for d in $(DIRS); do (cd $$d && $(MAKE) clean); done distclean: clean +for d in $(DIRS); do (cd $$d && $(MAKE) distclean); done $(DIRS): FORCE +cd $@ && $(MAKE) FORCE: