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 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