[...] make|pre [...] The problem is that, even when the compilation fails, the $status is equal to 0
The problem is that when you do ‘foo|bar’ then the result of the entire command is that of the last command in the chain.
You can use the bash PIPESTATUS array.
j.