subdirs: $(SUBDIRS) $(SUBDIRS): @flock $@ $(MAKE) -C $@ all: $(subdirs) SUBDIRS_CLEAN = $(addsuffix .clean,$(SUBDIRS)) clean: $(SUBDIRS_CLEAN) $(SUBDIRS_CLEAN): %.clean: @flock $* $(MAKE) -C $* clean SUBDIRS_INSTALL = $(addsuffix .install,$(SUBDIRS)) install: $(SUBDIRS_INSTALL) $(SUBDIRS_INSTALL): %.install: @flock $* $(MAKE) -C $* install .PHONY: all clean install $(SUBDIRS)