This article has some questionable advice imo. SHELL := bash Bash is a much slower shell than Dash, which is why Debian and friends don't use it as /bin/sh. .ONESHELL mitigates the speed problem, but you could also just use the default shell and leave ONESHELL turned off. Use bash strict mode .... .SHELLFLAGS := -eu -o pipefail -c I wish people would stop cargo-culting the so-called "strict mode". The -e flag is only…
Not really. The most common class of bugs I see in makefiles is something like this:
for x in foo bar baz; do frobnicate $x; done
This ignores errors from frobnicate, unless you set -e.