NON_DIRS=results/ DIRS=$(patsubst %/,%/,$(sort $(dir $(filter-out $(NON_DIRS),$(wildcard taskset*/))))) MAKE=make .PHONY: all clean $(DIRS) run all: $(DIRS) $(DIRS): @echo Entering $@… $(MAKE) -C $@ @echo Leaving $@ clean: $(CLEAN) @echo Cleaning up... @for i in $(DIRS); do ($(MAKE) -C $$i/ clean); done