On Thu, 26 Jul 2012 13:55:29 +0200
Paolo Bonzini <pbonz...@redhat.com> wrote:

> Il 26/07/2012 13:50, Markus Armbruster ha scritto:
> >> > +qapi-errors.h qapi-errors.c :\
> >> > +$(SRC_PATH)/qapi-schema-errors.json $(SRC_PATH)/scripts/qapi-errors.py
> >> > +        $(call quiet-command,$(PYTHON) 
> >> > $(SRC_PATH)/scripts/qapi-errors.py -o "." < $<, "  GEN   $@")
> > I'm afraid this isn't quite what you want.  It's shorthand for two
> > separate rules with the same recipe[*].  Therefore, it's prone to run
> > the recipe twice, with make blissfully unaware that each of the two runs
> > clobbers the other file, too.  Could conceivably lead to trouble with
> > parallel execution.
> > 
> > Paolo, Eric, maybe you can provide advice on how to best tell make that
> > a recipe generates multiple files.
> 
> Hmm, I would just do
> 
> qapi-errors.h: qapi-errors.c
> qapi-errors.c: $(SRC_PATH)/qapi-schema-errors.json 
> $(SRC_PATH)/scripts/qapi-errors.py
>       $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-errors.py -o 
> "." < $<, "  GEN   $@")

I've done this for v3, thanks for the suggestion.

> 
> I think that's what I usually saw for bison (which creates both .h and .c).
> 
> A perhaps cleaner alternative is to add a stamp file, and make both files
> depend on it.
> 
> Paolo
> 


Reply via email to