In my "build everything" tree, changing a type in qapi/common.json triggers a recompile of some 3600 out of 6600 objects (not counting tests and objects that don't depend on qemu/osdep.h). One common dependency is QapiErrorClass: it's used only in in qapi/error.h, which uses nothing else, and is widely included. Move QapiErrorClass from common.json to new error.json. Touching common.json now recompiles only some 2900 objects. Cc: Eric Blake <eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190812052359.30071-4-armbru@redhat.com>
33 lines
1.3 KiB
Makefile
33 lines
1.3 KiB
Makefile
util-obj-y = qapi-visit-core.o qapi-dealloc-visitor.o qobject-input-visitor.o
|
|
util-obj-y += qobject-output-visitor.o qmp-registry.o qmp-dispatch.o
|
|
util-obj-y += string-input-visitor.o string-output-visitor.o
|
|
util-obj-y += opts-visitor.o qapi-clone-visitor.o
|
|
util-obj-y += qmp-event.o
|
|
util-obj-y += qapi-util.o
|
|
|
|
QAPI_COMMON_MODULES = audio authz block-core block char common crypto
|
|
QAPI_COMMON_MODULES += dump error introspect job machine migration misc net
|
|
QAPI_COMMON_MODULES += qdev qom rdma rocker run-state sockets tpm
|
|
QAPI_COMMON_MODULES += trace transaction ui
|
|
QAPI_TARGET_MODULES = machine-target misc-target
|
|
QAPI_MODULES = $(QAPI_COMMON_MODULES) $(QAPI_TARGET_MODULES)
|
|
|
|
util-obj-y += qapi-builtin-types.o
|
|
util-obj-y += $(QAPI_COMMON_MODULES:%=qapi-types-%.o)
|
|
util-obj-y += qapi-builtin-visit.o
|
|
util-obj-y += $(QAPI_COMMON_MODULES:%=qapi-visit-%.o)
|
|
util-obj-y += qapi-emit-events.o
|
|
util-obj-y += $(QAPI_COMMON_MODULES:%=qapi-events-%.o)
|
|
|
|
common-obj-y = $(QAPI_COMMON_MODULES:%=qapi-commands-%.o)
|
|
|
|
obj-y = qapi-introspect.o
|
|
obj-y += $(QAPI_TARGET_MODULES:%=qapi-types-%.o)
|
|
obj-y += qapi-types.o
|
|
obj-y += $(QAPI_TARGET_MODULES:%=qapi-visit-%.o)
|
|
obj-y += qapi-visit.o
|
|
obj-y += $(QAPI_TARGET_MODULES:%=qapi-events-%.o)
|
|
obj-y += qapi-events.o
|
|
obj-y += $(QAPI_TARGET_MODULES:%=qapi-commands-%.o)
|
|
obj-y += qapi-commands.o
|