[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 7/6] Makefile: Make Makefile depend on generated qga files, too
From: |
Markus Armbruster |
Subject: |
[PATCH 7/6] Makefile: Make Makefile depend on generated qga files, too |
Date: |
Fri, 29 Nov 2019 10:59:27 +0100 |
Generated .h need to be generated before compiling any .c using them.
To know which .h a .c uses, we need to compile it.
Since commit 4115852bb0 "build: do not sprinkle around
GENERATED_HEADERS dependencies", we break this circular dependency the
simple & stupid way: the generated headers are a prerequisite of
Makefile, which causes Make to generate them first, then start over.
Except for qga we still use the older method of making all its .o
summarily depend on all its generated .h (commit 016c77ad62 "Makefile:
add missing deps on $(GENERATED_HEADERS)").
Add qga's generated files to generated-files-y to get rid of this
exception.
Signed-off-by: Markus Armbruster <address@hidden>
---
Makefile | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile
index 8dad949483..d4138343cd 100644
--- a/Makefile
+++ b/Makefile
@@ -130,6 +130,15 @@ GENERATED_QAPI_FILES += qapi/qapi-doc.texi
generated-files-y += $(GENERATED_QAPI_FILES)
+GENERATED_QGA_FILES := qga-qapi-types.c qga-qapi-types.h
+GENERATED_QGA_FILES += qga-qapi-visit.c qga-qapi-visit.h
+GENERATED_QGA_FILES += qga-qapi-commands.h qga-qapi-commands.c
+GENERATED_QGA_FILES += qga-qapi-init-commands.h qga-qapi-init-commands.c
+GENERATED_QGA_FILES += qga-qapi-doc.texi
+GENERATED_QGA_FILES := $(addprefix qga/qapi-generated/, $(GENERATED_QGA_FILES))
+
+generated-files-y += $(GENERATED_QGA_FILES)
+
generated-files-y += trace/generated-tcg-tracers.h
generated-files-y += trace/generated-helpers-wrappers.h
@@ -608,12 +617,7 @@ $(SRC_PATH)/scripts/qapi/types.py \
$(SRC_PATH)/scripts/qapi/visit.py \
$(SRC_PATH)/scripts/qapi-gen.py
-qga/qapi-generated/qga-qapi-types.c qga/qapi-generated/qga-qapi-types.h \
-qga/qapi-generated/qga-qapi-visit.c qga/qapi-generated/qga-qapi-visit.h \
-qga/qapi-generated/qga-qapi-commands.h qga/qapi-generated/qga-qapi-commands.c \
-qga/qapi-generated/qga-qapi-init-commands.h
qga/qapi-generated/qga-qapi-init-commands.c \
-qga/qapi-generated/qga-qapi-doc.texi: \
-qga/qapi-generated/qapi-gen-timestamp ;
+$(GENERATED_QGA_FILES): qga/qapi-generated/qapi-gen-timestamp ;
qga/qapi-generated/qapi-gen-timestamp: $(SRC_PATH)/qga/qapi-schema.json
$(qapi-py)
$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-gen.py \
-o qga/qapi-generated -p "qga-" $<, \
@@ -630,9 +634,6 @@ qapi-gen-timestamp: $(qapi-modules) $(qapi-py)
"GEN","$(@:%-timestamp=%)")
@>$@
-QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h
qga-qapi-commands.h qga-qapi-init-commands.h)
-$(qga-obj-y): $(QGALIB_GEN)
-
qemu-ga$(EXESUF): $(qga-obj-y) $(COMMON_LDADDS)
$(call LINK, $^)
@@ -722,7 +723,7 @@ clean: recurse-clean
rm -f trace/generated-tracers-dtrace.h*
rm -f $(foreach f,$(generated-files-y),$(f) $(f)-timestamp)
rm -f qapi-gen-timestamp
- rm -rf qga/qapi-generated
+ rm -f qga/qapi-generated/qapi-gen-timestamp
rm -f config-all-devices.mak
VERSION ?= $(shell cat VERSION)
--
2.21.0
- Re: [PATCH 5/6] qapi: Fix code generation for empty modules, (continued)
- [PATCH 2/6] tests/Makefile.include: Fix missing test-qapi-emit-events.[ch], Markus Armbruster, 2019/11/20
- [PATCH 6/6] qapi: Simplify QAPISchemaModularCVisitor, Markus Armbruster, 2019/11/20
- [PATCH 1/6] qapi: Tweak "command returns a nice type" check for clarity, Markus Armbruster, 2019/11/20
- Re: [PATCH 0/6] qapi: Module fixes and cleanups, Markus Armbruster, 2019/11/20
- Re: [PATCH 0/6] qapi: Module fixes and cleanups, no-reply, 2019/11/20
- Re: [PATCH 0/6] qapi: Module fixes and cleanups, Markus Armbruster, 2019/11/21
- [PATCH 7/6] Makefile: Make Makefile depend on generated qga files, too,
Markus Armbruster <=