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