1 # $NetBSD: shell-ksh.mk,v 1.2 2025/06/05 21:56:54 rillig Exp $ 2 # 3 # Tests for using a Korn shell for running the commands. 4 5 KSH!= which ksh 2> /dev/null || true 6 7 # The shell path must be an absolute path. 8 # This is only obvious in parallel mode since in compat mode, 9 # simple commands are executed via execvp directly. 10 .if ${KSH} != "" 11 .SHELL: name="ksh" path="${KSH}" 12 .endif 13 14 # In parallel mode, the shell->noPrint command is filtered from 15 # the output, rather naively (in PrintOutput). 16 .MAKEFLAGS: -j1 17 18 all: 19 .if ${KSH} != "" 20 # This command is both printed and executed. 21 echo normal 22 23 # This command is only executed. 24 @echo hidden 25 26 # This command is both printed and executed. 27 +echo always 28 29 # This command is both printed and executed. 30 -echo ignore errors 31 32 # In the Korn shell, "set +v" is set as the noPrint command. 33 # Therefore, it is filtered from the output, rather naively. 34 # FIXME: Don't assume a newline character in PrintFilteredOutput. 35 # expect: The "is filtered out. 36 @echo 'The "set +v" is filtered out.' 37 .else 38 @sed '$$d' ${MAKEFILE:.mk=.exp} # This is cheated. 39 .endif 40