1 1.6 rillig # $NetBSD: directive-else.mk,v 1.6 2020/11/13 09:01:59 rillig Exp $ 2 1.1 rillig # 3 1.2 rillig # Tests for the .else directive. 4 1.1 rillig 5 1.6 rillig .MAKEFLAGS: -dL # To enable the check for ".else <cond>" 6 1.6 rillig 7 1.3 rillig # The .else directive does not take any arguments. 8 1.3 rillig # As of 2020-08-29, make doesn't warn about this. 9 1.3 rillig .if 0 10 1.4 rillig . warning must not be reached 11 1.3 rillig .else 123 12 1.4 rillig . info ok 13 1.3 rillig .endif 14 1.3 rillig 15 1.3 rillig .if 1 16 1.4 rillig . info ok 17 1.3 rillig .else 123 18 1.4 rillig . warning must not be reached 19 1.3 rillig .endif 20 1.3 rillig 21 1.3 rillig # An .else without a corresponding .if is an error. 22 1.3 rillig .else 23 1.3 rillig 24 1.3 rillig # Accidental extra .else directives are detected too. 25 1.3 rillig .if 0 26 1.4 rillig . warning must not be reached 27 1.3 rillig .else 28 1.4 rillig . info ok 29 1.3 rillig .else 30 1.4 rillig . info After an extra .else, everything is skipped. 31 1.3 rillig .endif 32 1.1 rillig 33 1.5 rillig # An .else may have a comment. This comment does not count as an argument, 34 1.5 rillig # therefore no parse error. 35 1.5 rillig .if 0 36 1.5 rillig .else # comment 37 1.5 rillig .endif 38 1.5 rillig 39 1.5 rillig # A variable expression does count as an argument, even if it is empty. 40 1.5 rillig # XXX: This should be a parse error. 41 1.5 rillig .if 0 42 1.5 rillig .else ${:U} 43 1.5 rillig .endif 44 1.5 rillig 45 1.1 rillig all: 46 1.1 rillig @:; 47