I think this branch will make parallel make run correctly. I've just run it several times in a row with make -j8 and it seems to do the right thing. Please review.