dirs := $(subst /Makefile,,$(wildcard */Makefile)) .PHONY: clean default $(dirs) default: $(dirs) $(dirs): $(MAKE) -C $@ clean: for dir in $(dirs); do \ $(MAKE) -C $$dir clean; \ done