1 1.4 rillig # $NetBSD: cmd-errors-lint.mk,v 1.4 2024/07/05 18:59:33 rillig Exp $ 2 1.1 rillig # 3 1.2 rillig # Demonstrate how errors in expressions affect whether the commands 4 1.1 rillig # are actually executed. 5 1.1 rillig 6 1.1 rillig .MAKEFLAGS: -dL 7 1.1 rillig 8 1.2 rillig all: undefined unclosed-expression unclosed-modifier unknown-modifier end 9 1.1 rillig 10 1.2 rillig # Undefined variables in expressions are not an error. They expand to empty 11 1.2 rillig # strings. 12 1.1 rillig undefined: 13 1.3 rillig # expect: : undefined 14 1.1 rillig : $@ ${UNDEFINED} 15 1.1 rillig 16 1.2 rillig unclosed-expression: 17 1.3 rillig # expect: make: in target "unclosed-expression": Unclosed variable "UNCLOSED" 18 1.3 rillig # XXX: This command is executed even though it contains parse errors. 19 1.3 rillig # expect: : unclosed-expression 20 1.1 rillig : $@ ${UNCLOSED 21 1.1 rillig 22 1.1 rillig unclosed-modifier: 23 1.4 rillig # expect: make: in target "unclosed-modifier": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}' 24 1.3 rillig # XXX: This command is executed even though it contains parse errors. 25 1.3 rillig # expect: : unclosed-modifier 26 1.1 rillig : $@ ${UNCLOSED: 27 1.1 rillig 28 1.1 rillig unknown-modifier: 29 1.3 rillig # expect: make: in target "unknown-modifier": while evaluating variable "UNKNOWN" with value "": Unknown modifier "Z" 30 1.3 rillig # XXX: This command is executed even though it contains parse errors. 31 1.3 rillig # expect: : unknown-modifier 32 1.1 rillig : $@ ${UNKNOWN:Z} 33 1.1 rillig 34 1.1 rillig end: 35 1.3 rillig # expect: : end 36 1.1 rillig : $@ 37 1.3 rillig 38 1.3 rillig # expect: exit status 2 39