Complete patch attached, comments welcome. I added a (minimal) sanity check, too. I remember at least one case when make "failed to fail", it returned 0 even though the build did in fact not succeed.