On 01/09/2012 01:23 PM, Andreas Färber wrote:
Am 09.01.2012 16:56, schrieb Anthony Liguori:
diff --git a/tests/Makefile b/tests/Makefile
new file mode 100644
index 0000000..c11d980
--- /dev/null
+++ b/tests/Makefile
@@ -0,0 +1,31 @@
+check-qint.o check-qstring.o check-qdict.o check-qlist.o check-qfloat.o
check-qjson.o test-coroutine.o: $(GENERATED_HEADERS)
+
+check-qint: check-qint.o qint.o $(tools-obj-y)
+check-qstring: check-qstring.o qstring.o $(tools-obj-y)
+check-qdict: check-qdict.o qdict.o qfloat.o qint.o qstring.o qbool.o qlist.o
$(tools-obj-y)
+check-qlist: check-qlist.o qlist.o qint.o $(tools-obj-y)
+check-qfloat: check-qfloat.o qfloat.o $(tools-obj-y)
+check-qjson: check-qjson.o $(qobject-obj-y) $(tools-obj-y)
+test-coroutine: test-coroutine.o qemu-timer-common.o async.o
$(coroutine-obj-y) $(tools-obj-y)
+
+test-qmp-input-visitor.o test-qmp-output-visitor.o test-qmp-commands.o
qemu-ga$(EXESUF): QEMU_CFLAGS += -I $(qapi-dir)
+
+$(qapi-dir)/test-qapi-types.c $(qapi-dir)/test-qapi-types.h :\
+$(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py
+ $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py $(gen-out-type) -o "$(qapi-dir)"
-p "test-"< $<, " GEN $@")
+$(qapi-dir)/test-qapi-visit.c $(qapi-dir)/test-qapi-visit.h :\
+$(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-visit.py
+ $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py $(gen-out-type) -o "$(qapi-dir)"
-p "test-"< $<, " GEN $@")
+$(qapi-dir)/test-qmp-commands.h $(qapi-dir)/test-qmp-marshal.c :\
+$(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-commands.py
+ $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py $(gen-out-type) -o
"$(qapi-dir)" -p "test-"< $<, " GEN $@")
+
+test-qmp-output-visitor.o: $(addprefix $(qapi-dir)/, test-qapi-types.c
test-qapi-types.h test-qapi-visit.c test-qapi-visit.h) $(qapi-obj-y)
+test-qmp-output-visitor: test-qmp-output-visitor.o $(qobject-obj-y)
$(qapi-obj-y) $(tools-obj-y) $(qapi-dir)/test-qapi-visit.o
$(qapi-dir)/test-qapi-types.o
+
+test-qmp-input-visitor.o: $(addprefix $(qapi-dir)/, test-qapi-types.c
test-qapi-types.h test-qapi-visit.c test-qapi-visit.h) $(qapi-obj-y)
+test-qmp-input-visitor: test-qmp-input-visitor.o $(qobject-obj-y)
$(qapi-obj-y) $(tools-obj-y) $(qapi-dir)/test-qapi-visit.o
$(qapi-dir)/test-qapi-types.o
+
+test-qmp-commands.o: $(addprefix $(qapi-dir)/, test-qapi-types.c
test-qapi-types.h test-qapi-visit.c test-qapi-visit.h test-qmp-marshal.c
test-qmp-commands.h) $(qapi-obj-y)
+test-qmp-commands: test-qmp-commands.o $(qobject-obj-y) $(qapi-obj-y)
$(tools-obj-y) $(qapi-dir)/test-qapi-visit.o $(qapi-dir)/test-qapi-types.o
$(qapi-dir)/test-qmp-marshal.o module.o
+
Would be nice if we could recurse into tests/ subdir...
I've looked a lot into how we could make the build system nicer. As best as I
can tell, making good use of recursive make files is very, very difficult to get
right.
I've tried a few times to prototype something and have not been all that
successful.
If you don't
want that, please rename the file so that it is obvious.
I can do that, I guess. I was going by Linux convention where even the
subdirectory fragments are still called Makefile.
Also, the new Makefile probably needs to be added to $FILES in configure
for out-of-tree builds?
It doesn't. FILES creates symlinks but this makefile fragment is not directly
buildable so it's not helpful to have it in the build directory
Regards,
Anthony Liguori
Andreas