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