diff --git a/make/common/MakeBase.gmk b/make/common/MakeBase.gmk index 51aaa286b9b11b49be851250a00a76d2737740ae..a040effe83a330cc99e83fcfcb2bf3049e9edbdd 100644 --- a/make/common/MakeBase.gmk +++ b/make/common/MakeBase.gmk @@ -1036,15 +1036,16 @@ DependOnVariableFileName = \ # Param 2 - (optional) name of file to store value in DependOnVariableHelper = \ $(strip \ - $(eval -include $(call DependOnVariableFileName, $1, $2)) \ + $(eval $1_filename := $(call DependOnVariableFileName, $1, $2)) \ + $(if $(wildcard $($1_filename)), $(eval include $($1_filename))) \ $(if $(call equals, $(strip $($1)), $(strip $($1_old))),,\ - $(call MakeDir, $(dir $(call DependOnVariableFileName, $1, $2))) \ + $(call MakeDir, $(dir $($1_filename))) \ $(if $(findstring $(LOG_LEVEL), trace), \ $(info NewVariable $1: >$(strip $($1))<) \ $(info OldVariable $1: >$(strip $($1_old))<)) \ $(call WriteFile, $1_old:=$(call DoubleDollar,$(call EscapeHash,$($1))), \ - $(call DependOnVariableFileName, $1, $2))) \ - $(call DependOnVariableFileName, $1, $2) \ + $($1_filename))) \ + $($1_filename) \ ) # Main macro