Global: SPECIALS = \: : \\ * \* CondParser_Eval: ${SPECIALS:M${:U}\:} != ${SPECIALS:M\:${:U}} Var_Parse: ${SPECIALS:M${:U}\:} != ${SPECIALS:M\:${:U}} (eval-defined) Evaluating modifier ${SPECIALS:M...} on value "\: : \\ * \*" Pattern for ':M' is "\:" ModifyWords: split "\: : \\ * \*" into 5 words Result of ${SPECIALS:M${:U}\:} is ":" Var_Parse: ${SPECIALS:M\:${:U}} (eval-defined) Evaluating modifier ${SPECIALS:M...} on value "\: : \\ * \*" Pattern for ':M' is ":" ModifyWords: split "\: : \\ * \*" into 5 words Result of ${SPECIALS:M\:${:U}} is ":" lhs = ":", rhs = ":", op = != Global: VALUES = : :: :\: CondParser_Eval: ${VALUES:M\:${:U\:}} != ${VALUES:M${:U\:}\:} Var_Parse: ${VALUES:M\:${:U\:}} != ${VALUES:M${:U\:}\:} (eval-defined) Evaluating modifier ${VALUES:M...} on value ": :: :\:" Var_Parse: ${:U:} (eval-defined) Evaluating modifier ${:U} on value "" (eval-defined, undefined) Result of ${:U} is "" (eval-defined, defined) Pattern for ':M' is ":" ModifyWords: split ": :: :\:" into 3 words Result of ${VALUES:M\:${:U\:}} is ":" Var_Parse: ${VALUES:M${:U\:}\:} (eval-defined) Evaluating modifier ${VALUES:M...} on value ": :: :\:" Var_Parse: ${:U\:}\: (eval-defined) Evaluating modifier ${:U...} on value "" (eval-defined, undefined) Result of ${:U\:} is ":" (eval-defined, defined) Pattern for ':M' is ":\:" ModifyWords: split ": :: :\:" into 3 words Result of ${VALUES:M${:U\:}\:} is "::" lhs = ":", rhs = "::", op = != make: "varmod-match-escape.mk" line 42: warning: XXX: Oops Global: .MAKEFLAGS = -r -k -d cv -d Global: .MAKEFLAGS = -r -k -d cv -d 0 make: "varmod-match-escape.mk" line 67: Dollar followed by nothing make: Fatal errors encountered -- cannot continue make: stopped in unit-tests exit status 1