SHELL := bash .ONESHELL: .SHELLFLAGS := -eu -o pipefail -c .DELETE_ON_ERROR: MAKEFLAGS += --warn-undefined-variables MAKEFLAGS += --no-builtin-rules SUBDIRS := $(wildcard */.) OUT=out ifeq ($(origin .RECIPEPREFIX), undefined) $(error This Make does not support .RECIPEPREFIX. Please use GNU Make 4.0 or later) endif .RECIPEPREFIX = > .PHONY: all all: > for dir in $(SUBDIRS); do \ > make -C $$dir $@; \ > done .PHONY: clean clean: > for dir in $(SUBDIRS); do \ > make -C $$dir $@; \ > done