1Global: param = twice 2Global: VARNAME = VAR.$${param} 3Var_Parse: ${VARNAME} (eval) 4Global: VAR.${param} = initial-value 5Var_Parse: ${${VARNAME}::=assigned-value} (eval-defined-loud) 6Var_Parse: ${VARNAME}::=assigned-value} (eval) 7Evaluating modifier ${VAR.${param}::...} on value "initial-value" 8Modifier part: "assigned-value" 9Global: VAR.${param} = assigned-value 10Result of ${VAR.${param}::=assigned-value} is "" 11Var_Parse: ${${VARNAME}} != "assigned-value" (eval-defined-loud) 12Var_Parse: ${VARNAME}} != "assigned-value" (eval) 13Global: .MAKEFLAGS = -r -k -d v -d 14Global: .MAKEFLAGS = -r -k -d v -d 0 15Var_Parse: ${CMD_CMD_VAR::=new-value} || ${CMD_GLOBAL_VAR::=new-value} || ${CMD_ENV_VAR::=new-value} || "${CMD_NEW_VAR::=new-value}" (eval-defined-loud) 16Evaluating modifier ${CMD_CMD_VAR::...} on value "cmd-value" 17Modifier part: "new-value" 18Command: CMD_CMD_VAR = new-value 19Global: .MAKEOVERRIDES = FIRST LAST LAST LAST APPENDED RAN RAN RAN IT1 THEN1 IE2 ELSE2 CMD_CMD_VAR CMD_CMD_VAR 20Result of ${CMD_CMD_VAR::=new-value} is "" 21Var_Parse: ${CMD_GLOBAL_VAR::=new-value} || ${CMD_ENV_VAR::=new-value} || "${CMD_NEW_VAR::=new-value}" (eval-defined-loud) 22Evaluating modifier ${CMD_GLOBAL_VAR::...} on value "global-value" 23Modifier part: "new-value" 24Global: CMD_GLOBAL_VAR = new-value 25Result of ${CMD_GLOBAL_VAR::=new-value} is "" 26Var_Parse: ${CMD_ENV_VAR::=new-value} || "${CMD_NEW_VAR::=new-value}" (eval-defined-loud) 27Evaluating modifier ${CMD_ENV_VAR::...} on value "env-value" 28Modifier part: "new-value" 29Global: CMD_ENV_VAR = new-value 30Result of ${CMD_ENV_VAR::=new-value} is "" 31Var_Parse: ${CMD_NEW_VAR::=new-value}" (eval) 32Evaluating modifier ${CMD_NEW_VAR::...} on value "" (eval, undefined) 33Modifier part: "new-value" 34Global: ignoring delete 'CMD_NEW_VAR' as it is not found 35Command: CMD_NEW_VAR = new-value 36Global: .MAKEOVERRIDES = FIRST LAST LAST LAST APPENDED RAN RAN RAN IT1 THEN1 IE2 ELSE2 CMD_CMD_VAR CMD_CMD_VAR CMD_NEW_VAR 37Result of ${CMD_NEW_VAR::=new-value} is "" (eval, undefined) 38Global: .MAKEFLAGS = -r -k -d v -d 0 -d v -d 39Global: .MAKEFLAGS = -r -k -d v -d 0 -d v -d 0 40make: Invalid attempt to assign "value" to variable "" via modifier "::=" 41 while evaluating "${::=value}" with value "" 42 in command "@echo $@: ${::=value}" 43 in target "mod-assign-empty-1" 44make: Invalid attempt to assign "overwritten" to variable "" via modifier "::=" 45 while evaluating "${:Uvalue::=overwritten}" with value "value" 46 in command "@echo $@: ${:Uvalue::=overwritten}" 47 in target "mod-assign-empty-2" 48make: Invalid attempt to assign "appended" to variable "" via modifier "::+=" 49 while evaluating "${:Uvalue::+=appended}" with value "value" 50 in command "@echo $@: ${:Uvalue::+=appended}" 51 in target "mod-assign-empty-3" 52mod-assign-empty-4: VAR=overwritten 53make: Unknown modifier "::x" 54 while evaluating variable "ASSIGN" with value "" 55 in command "@echo ${ASSIGN::x}" 56 in target "mod-assign-parse-1" 57sysv:y 58make: Unfinished modifier after "value # missing closing brace", expecting "}" 59 while evaluating variable "ASSIGN" with value "" 60 in command "@echo ${ASSIGN::=value # missing closing brace" 61 in target "mod-assign-parse-3" 62ok=word 63make: warning: Command " echo word; (exit 13) " exited with status 13 64err=previous 65Command: TARGET_CMD_VAR = cmd-value 66Global: TARGET_GLOBAL_VAR = global-value 67target: TARGET_TARGET_VAR = target-value 68target: TARGET_TARGET_VAR = new-value 69Global: TARGET_GLOBAL_VAR = new-value 70Global: TARGET_ENV_VAR = new-value 71target: TARGET_NEW_VAR = new-value 72exit status 2 73