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 >