DIRS = common broker DIRS_BYTE = $(patsubst %,%.byte,$(DIRS)) DIRS_OPT = $(patsubst %,%.opt,$(DIRS)) DIRS_CLEAN = $(patsubst %,%.clean,$(DIRS)) all: byte meta: $(MAKE) -C meta/ byte: meta $(DIRS_BYTE) opt: meta $(DIRS_OPT) world: byte opt clean: $(DIRS_CLEAN) $(MAKE) -C meta/ clean %.byte: $(MAKE) -C $*/ all %.opt: $(MAKE) -C $*/ opt %.clean: $(MAKE) -C $*/ clean .PHONY: all byte opt world clean meta