On Thu, 2022-12-08 at 19:59 +0100, aotto wrote: > HA HA HA - I fund the bug !! > > I used "-silent" and not "--silent", the "-silent" is parsed as
That's funny, but I'm not sure why it works differently in 4.4 since that was still the case in 4.3, if you use "-silent". > MqC.mq.$(MAKE_LNG): | MqC.mq.$(MAKE_LNG).before MqC.mq.$(MAKE_LNG).after This usage is dangerous, because: $ false $ echo $? 1 $ false | cat $ echo $? 0 See how the pipeline swallowed the failing exit code? The exit code of a pipeline is always the exit code of the last statement in the pipeline (here, the "cat" program). If you want to require bash you can use something like: SHELL := /bin/bash .SHELLFLAGS = -o pipefail -c which will force the exit code of a pipeline to be the exit code of the last failing command, not the last command. If you don't want to require bash, you'll have to get a LOT fancier than simply adding a pipe in a variable, if you want to preserve exit codes.