Use `pipefail` so make sees command failures. In a pipeline, normally only the exit code of the last command matters. Thus when sending stuff through tee, a failure of the first command is lost. `pipefail` makes sure that a failure on the first command causes a failure exit code. More info at https://stackoverflow.com/questions/6871859/piping-command-output-to-tee-but-also-save-exit-code-of-command Fixes #180 - "foundry_install.py script failing doesn't stop the build" Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
diff --git a/sky130/Makefile.in b/sky130/Makefile.in index caa9c05..44a343b 100644 --- a/sky130/Makefile.in +++ b/sky130/Makefile.in
@@ -129,7 +129,12 @@ # #-------------------------------------------------------------------- # This Makefile contains bash-isms -SHELL = bash +SHELL := /bin/bash +export SHELL +# We use pipes to save output to files, without pipefail they will always be +# seen by make as having succeeded. +SHELLOPTS := pipefail +export SHELLOPTS MV = mv SED = @SED@