Sam might want to experiment with something like:
stdout_target = $(1) > $(@D)/.tmp_$(@F) && mv -f $(@D)/.tmp_$(@F) $@
cmd_foo = $(call stdout_target,blah | sed s/foo/bar/)
to clean up all the places that would benefit from robust treatment for
output files vs interrupted/erring make runs.
Thanks,
Roland
--