On 2014/05/17 15:13:20, lemzwerg wrote:
https://codereview.appspot.com/93430043/diff/40001/mf/GNUmakefile File mf/GNUmakefile (right):
https://codereview.appspot.com/93430043/diff/40001/mf/GNUmakefile#newcode119
mf/GNUmakefile:119: true Does this really work? I've never seen a make rule like that, and my
gut
feeling says that it could be still suffering from race conditions.
Hopefully,
I'm wrong.
yes, it works. The previous version still has a problem if the script creates the SVG before the OTF, so I've added a touch to the dummy rules, so the timestamps reflect the declared dependencies. The only situation where this goes wrong is when the .SVG file does not exist, but the .OTF does, since the recipe doesn't actually produce the .SVG. Since this is unlikely to occur in practice, I suggest to ignore this situation.
The automake info file has a long section w.r.t. commands that produce
multiple
output files. Interestingly, your solution with `true' isn't
documented
there...
this is a variation of the 2nd approach in http://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html they try to fix it by introducing complex shell which can go wrong in even more ways. The really correct is to treat the multiple outputs as one intermediate file, ie. have the rule creating multiple outputs create a .zip file, and unpack the final output from the .zip. https://codereview.appspot.com/93430043/diff/40001/mf/GNUmakefile#newcode136
mf/GNUmakefile:136: # generating 3 files at the same time This comment should be moved up to the first use of `true'.
done. https://codereview.appspot.com/93430043/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel