1 # $NetBSD: sh-errctl.mk,v 1.1 2020/12/12 15:06:11 rillig Exp $ 2 # 3 # Test a shell with error control. This only works in jobs mode; in compat 4 # mode, the default shell is always used, see InitShellNameAndPath. 5 # 6 # There is a subtle difference between error control and echo control. 7 # With error control, each simple command is checked, whereas with echo 8 # control, only the last command from each line is checked. A shell command 9 # line that behaves differently in these two modes is "false; true". In 10 # error control mode, this fails, while in echo control mode, it succeeds. 11 12 .MAKEFLAGS: -j1 -dj 13 14 .SHELL: \ 15 name="sh" \ 16 path="${.SHELL}" \ 17 hasErrCtl="yes" \ 18 check="\# error checking on\nset -e" \ 19 ignore="\# error checking off\nset +e" \ 20 echo="\# echo on" \ 21 quiet="\# echo off" 22 23 all: 24 @echo silent 25 -echo ignerr; false 26 +echo always 27