# Makefile for sub directories # # mindepth makes sure we do not include this Makeile MAKEFILES = $(shell find . -mindepth 2 -name 'Makefile') DIRS = $(patsubst %/Makefile, %, $(MAKEFILES)) # The sets of directories to do various things in BUILDDIRS = $(DIRS:%=build-%) CLEANDIRS = $(DIRS:%=clean-%) all: $(BUILDDIRS) $(DIRS): $(BUILDDIRS) $(BUILDDIRS): $(MAKE) -C $(@:build-%=%) clean: $(CLEANDIRS) $(CLEANDIRS): $(MAKE) -C $(@:clean-%=%) clean .PHONY: subdirs $(DIRS) .PHONY: subdirs $(BUILDDIRS) .PHONY: subdirs $(CLEANDIRS) .PHONY: all clean