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