Newer
Older
.PHONY:all %.all install %.install clean %.clean cleandist %.cleandist release
SUBMAKE:=make -s -C
SUBMAKABLE:=$(shell find -mindepth 2 -name '[Mm]akefile' | sed 's%^./%%;s%/[^/]*%%')
define submake
@tput setaf 3
@echo make[$1] $2
@tput sgr0
@$3 $(SUBMAKE) $1 $2
endef
all: $(patsubst %,%.all,$(SUBMAKABLE))
%.all:
$(call submake,$*,,)
install: $(patsubst %,%.install,$(SUBMAKABLE))
%.install:
$(call submake,$*,install,sudo)
clean: $(patsubst %,%.clean,$(SUBMAKABLE))
%.clean:
$(call submake,$*,clean,)
cleandist: $(patsubst %,%.cleandist,$(SUBMAKABLE))
%.cleandist:
$(call submake,$*,cleandist,)
release:
$(call submake,.,,)
$(call submake,.,clean,)