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.")