MB_MAKE_CALL_DEBUG ?= off # Workaround for --warn-undefined-variables 1 := 2 := 3 := 4 := 5 := 6 := 7 := 8 := 9 := define _mb-make-call-debug $(MB_ᕽᕽᕽ   )$(if $(filter off,$(MB_MAKE_CALL_DEBUG)),,$(if $(findstring mb-doc-,$(1)),,$(warning DEBUG $(1) ($(2),$(3),$(4),$(5),$(6),$(7),$(8),$(9))))) endef define mb-make-call $(MB_ᕽᕽᕽ   )$(call _mb-make-call-debug,$(1),$(2),$(3),$(4),$(5),$(6),$(7),$(8),$(9))$(if $(filter file,$(origin $(1))),$(call $(1),$(2),$(3),$(4),$(5),$(6),$(7),$(8),$(9)),$(error $(1) is not defined)) endef $(call mb-make-call,mb-doc-function-deep,mb-make-call,Checked origin call function wrapper., [args...]) # Wait until function is parsed... $(call mb-make-call,mb-doc-variable-deep,MB_MAKE_CALL_DEBUG,If on prints debug trace of all make calls.)