From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38788) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZX63e-0005Eq-90 for qemu-devel@nongnu.org; Wed, 02 Sep 2015 07:18:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZX63d-0003fX-0d for qemu-devel@nongnu.org; Wed, 02 Sep 2015 07:18:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35137) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZX63c-0003fG-PX for qemu-devel@nongnu.org; Wed, 02 Sep 2015 07:18:24 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 5D8688EA29 for ; Wed, 2 Sep 2015 11:18:24 +0000 (UTC) From: "Daniel P. Berrange" Date: Wed, 2 Sep 2015 12:18:03 +0100 Message-Id: <1441192690-15413-5-git-send-email-berrange@redhat.com> In-Reply-To: <1441192690-15413-1-git-send-email-berrange@redhat.com> References: <1441192690-15413-1-git-send-email-berrange@redhat.com> Subject: [Qemu-devel] [PATCH v6 04/11] qom: allow QOM to be linked into tools binaries List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Gerd Hoffmann The qom objects are currently added to common-obj-y which is only linked into the system emulators. The later crypto patches will depend on QOM infrastructure and will also be used from tools binaries. Thus the QOM objects are moved into a new qom-obj-y variable which can be referenced when linking tools, system emulators and tests. Signed-off-by: Daniel P. Berrange --- Makefile | 8 +++++--- Makefile.objs | 5 +++++ Makefile.target | 2 ++ qom/Makefile.objs | 7 ++++--- tests/Makefile | 4 +--- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 5e63da8..ee78930 100644 --- a/Makefile +++ b/Makefile @@ -152,6 +152,7 @@ dummy := $(call unnest-vars,, \ block-obj-y \ block-obj-m \ crypto-obj-y \ + qom-obj-y \ common-obj-y \ common-obj-m) @@ -174,6 +175,7 @@ SOFTMMU_SUBDIR_RULES=$(filter %-softmmu,$(SUBDIR_RULES)) $(SOFTMMU_SUBDIR_RULES): $(block-obj-y) $(SOFTMMU_SUBDIR_RULES): $(crypto-obj-y) +$(SOFTMMU_SUBDIR_RULES): $(qom-obj-y) $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak subdir-%: @@ -228,9 +230,9 @@ util/module.o-cflags = -D'CONFIG_BLOCK_MODULES=$(block-modules)' qemu-img.o: qemu-img-cmds.h -qemu-img$(EXESUF): qemu-img.o $(block-obj-y) $(crypto-obj-y) libqemuutil.a libqemustub.a -qemu-nbd$(EXESUF): qemu-nbd.o $(block-obj-y) $(crypto-obj-y) libqemuutil.a libqemustub.a -qemu-io$(EXESUF): qemu-io.o $(block-obj-y) $(crypto-obj-y) libqemuutil.a libqemustub.a +qemu-img$(EXESUF): qemu-img.o $(block-obj-y) $(crypto-obj-y) $(qom-obj-y) libqemuutil.a libqemustub.a +qemu-nbd$(EXESUF): qemu-nbd.o $(block-obj-y) $(crypto-obj-y) $(qom-obj-y) libqemuutil.a libqemustub.a +qemu-io$(EXESUF): qemu-io.o $(block-obj-y) $(crypto-obj-y) $(qom-obj-y) libqemuutil.a libqemustub.a qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o diff --git a/Makefile.objs b/Makefile.objs index c7ed989..2ff4224 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -25,6 +25,11 @@ block-obj-m = block/ crypto-obj-y = crypto/ +####################################################################### +# qom-obj-y is code used by both qemu system emulation and qemu-img + +qom-obj-y = qom/ + ###################################################################### # smartcard diff --git a/Makefile.target b/Makefile.target index 2053ecd..0d968d6 100644 --- a/Makefile.target +++ b/Makefile.target @@ -171,6 +171,7 @@ dummy := $(call unnest-vars,.., \ block-obj-y \ block-obj-m \ crypto-obj-y \ + qom-obj-y \ common-obj-y \ common-obj-m) target-obj-y := $(target-obj-y-save) @@ -178,6 +179,7 @@ all-obj-y += $(common-obj-y) all-obj-y += $(target-obj-y) all-obj-$(CONFIG_SOFTMMU) += $(block-obj-y) all-obj-$(CONFIG_SOFTMMU) += $(crypto-obj-y) +all-obj-$(CONFIG_SOFTMMU) += $(qom-obj-y) $(QEMU_PROG_BUILD): config-devices.mak diff --git a/qom/Makefile.objs b/qom/Makefile.objs index 985003b..516349e 100644 --- a/qom/Makefile.objs +++ b/qom/Makefile.objs @@ -1,3 +1,4 @@ -common-obj-y = object.o container.o qom-qobject.o -common-obj-y += cpu.o -common-obj-y += object_interfaces.o +qom-obj-y = object.o container.o qom-qobject.o +qom-obj-y += object_interfaces.o + +common-obj-y = cpu.o diff --git a/tests/Makefile b/tests/Makefile index 938e8d5..214caf2 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -277,9 +277,7 @@ QEMU_CFLAGS += -I$(SRC_PATH)/tests # Deps that are common to various different sets of tests below test-util-obj-y = libqemuutil.a libqemustub.a -test-qom-obj-y = qom/object.o qom/qom-qobject.o \ - qom/container.o qom/object_interfaces.o \ - $(test-util-obj-y) +test-qom-obj-y = $(qom-obj-y) $(test-util-obj-y) test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \ tests/test-qapi-event.o \ $(test-qom-obj-y) -- 2.4.3