Hi Dan,
Generally you can't just write produces to say that a file is produced
by something - it just isn't that powerful. I will make the the docs
clearer on that, and what it can do.
It sounds like you have the situation where you have one rule that
builds A and B (let's call it pAB), and another rule that builds only
A (pA). That is quite difficult for a build system to represent, since
there's no reason for it not to try running pAB and pA in parallel,
which would go badly. It also doesn't know if you demand A to be up to
date whether to run pA or pAB.
How do you generally expect to decide between stack build and test
build --test in your example?
Thanks, Neil