`foobar` may create the output file even when it fails, so I need to delete it in that case.

I can do this:

```
foo: bar baz
        foobar $^ -o $@ || (rm -f $@ && exit 1)

```

But this does not propagate the same exit code returned by `foobar` (which is then outputted by `make`). Is there any way to catch the error in the Makefile rather than in the shell?