1 1.5 rillig # $NetBSD: varname-dot-shell.mk,v 1.5 2020/10/30 15:09:13 rillig Exp $ 2 1.1 rillig # 3 1.1 rillig # Tests for the special .SHELL variable, which contains the shell used for 4 1.1 rillig # running the commands. 5 1.1 rillig # 6 1.1 rillig # This variable is read-only. 7 1.1 rillig 8 1.4 rillig .MAKEFLAGS: -dcpv 9 1.4 rillig 10 1.1 rillig ORIG_SHELL:= ${.SHELL} 11 1.1 rillig 12 1.1 rillig .SHELL= overwritten 13 1.1 rillig .if ${.SHELL} != ${ORIG_SHELL} 14 1.3 rillig . error 15 1.1 rillig .endif 16 1.1 rillig 17 1.5 rillig # Trying to append to the variable. 18 1.5 rillig # Until 2020-10-30 this was possible. 19 1.5 rillig .MAKEFLAGS: .SHELL+=appended 20 1.5 rillig .if ${.SHELL} != "${ORIG_SHELL} appended" 21 1.5 rillig . error 22 1.5 rillig .endif 23 1.5 rillig 24 1.1 rillig # Trying to delete the variable. 25 1.1 rillig # This has no effect since the variable is not defined in the global context, 26 1.1 rillig # but in the command-line context. 27 1.1 rillig .undef .SHELL 28 1.1 rillig .SHELL= newly overwritten 29 1.5 rillig .if ${.SHELL} != "${ORIG_SHELL} appended" 30 1.3 rillig . error 31 1.1 rillig .endif 32 1.1 rillig 33 1.4 rillig .MAKEFLAGS: -d0 34 1.4 rillig 35 1.1 rillig all: 36 1.4 rillig @:; 37