@@ -59,6 +59,7 @@ common-obj-y += migration/
common-obj-y += audio/
common-obj-m += audio/
common-obj-y += hw/
+common-obj-m += hw/
common-obj-y += replay/
@@ -179,6 +179,13 @@ endif # CONFIG_SOFTMMU
dummy := $(call unnest-vars,,obj-y)
all-obj-y := $(obj-y)
+#
+# common-obj-m has some crap here, probably as side effect from
+# filling obj-y. Clear it. Fixes suspious dependency errors when
+# building devices as modules.
+#
+common-obj-m :=
+
include $(SRC_PATH)/Makefile.objs
dummy := $(call unnest-vars,.., \
authz-obj-y \
@@ -156,6 +156,8 @@ static struct {
const char *type;
const char *mod;
} const hwmodules[] = {
+ { .type = "qxl-vga", .mod = "display-qxl" },
+ { .type = "qxl", .mod = "display-qxl" },
};
static bool qdev_module_loaded_all;
@@ -43,4 +43,5 @@ devices-dirs-y += smbios/
endif
common-obj-y += $(devices-dirs-y)
+common-obj-m += display/
obj-y += $(devices-dirs-y)
@@ -44,7 +44,9 @@ common-obj-$(CONFIG_ARTIST) += artist.o
obj-$(CONFIG_VGA) += vga.o
-common-obj-$(CONFIG_QXL) += qxl.o qxl-logger.o qxl-render.o
+#common-obj-$(CONFIG_QXL) += qxl.mo
+common-obj-m += qxl.mo
+qxl.mo-objs = qxl.o qxl-logger.o qxl-render.o
obj-$(CONFIG_VIRTIO_GPU) += virtio-gpu-base.o virtio-gpu.o virtio-gpu-3d.o
obj-$(CONFIG_VHOST_USER_GPU) += vhost-user-gpu.o
Open questions: * Do we want this be contigurable? If so, how? Does our miniconf support tristate Kconfig options? * The Makefile.target chunk feels quite hackish. Better ideas anyone? Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- Makefile.objs | 1 + Makefile.target | 7 +++++++ hw/core/qdev.c | 2 ++ hw/Makefile.objs | 1 + hw/display/Makefile.objs | 4 +++- 5 files changed, 14 insertions(+), 1 deletion(-)