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)