James Patrick
d26d20d8d6
It will look for all first level child `makefile`, and run assigned target. This is equivalent to running: ```shell for i in */makefile; do make -C $i $target done ```
28 lines
484 B
Makefile
28 lines
484 B
Makefile
SRC_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
|
|
|
include lib/shared.mk
|
|
|
|
define recursive_make
|
|
for i in */makefile; do; \
|
|
echo "`dirname $$i` " ; \
|
|
$(MAKE) -C $(SRC_DIR)/`dirname $$i` $1 ; \
|
|
echo "" ; \
|
|
done
|
|
endef
|
|
|
|
install:
|
|
$(info Initalizing)
|
|
$(call recursive_make,install)
|
|
|
|
init:
|
|
$(info Initalizing)
|
|
$(call recursive_make,init)
|
|
|
|
update:
|
|
$(info Updating)
|
|
$(call recursive_make,update)
|
|
|
|
remove:
|
|
$(info Removing)
|
|
$(call recursive_make,remove)
|