From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40704) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPW8y-0002k1-DL for qemu-devel@nongnu.org; Wed, 12 Aug 2015 09:32:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZPW8h-0008Ic-Sx for qemu-devel@nongnu.org; Wed, 12 Aug 2015 09:32:36 -0400 Received: from mail-wi0-x22a.google.com ([2a00:1450:400c:c05::22a]:36114) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPW8h-0008I8-J6 for qemu-devel@nongnu.org; Wed, 12 Aug 2015 09:32:19 -0400 Received: by wicja10 with SMTP id ja10so113440887wic.1 for ; Wed, 12 Aug 2015 06:32:18 -0700 (PDT) Sender: Paolo Bonzini References: <1439103775-11836-1-git-send-email-michael.marineau@coreos.com> From: Paolo Bonzini Message-ID: <55CB4ADE.8040807@redhat.com> Date: Wed, 12 Aug 2015 15:32:14 +0200 MIME-Version: 1.0 In-Reply-To: <1439103775-11836-1-git-send-email-michael.marineau@coreos.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] Makefile.target: include top level build dir in vpath List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Marineau , qemu-devel@nongnu.org On 09/08/2015 09:02, Michael Marineau wrote: > Using ccache with CCACHE_BASEDIR set to $(SRC_PATH) or a parent will > rewrite all absolute paths to relative paths. This interacts poorly with > QEMU's two-level build directory scheme. For example, lets say > BUILD_DIR=$(SRC_PATH)/build so build/blockdev.d will contain: > > blockdev.o: ../blockdev.c ../include/sysemu/block-backend.h \ > > Now the target build under build/x86_64-softmmu or similar will depend > on ../blockdev.o which in turn will get make to source ../blockdev.d to > check its dependencies. Since make always considers paths relative to > the current working directory rather than the makefile the path appeared > in the relative path to ../blockdev.c is useless. > > This change simply adds the top level build directory to vpath so paths > relative to the source directory, top build directory, and target build > directory all work just fine. > --- > Makefile.target | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Makefile.target b/Makefile.target > index 3e7aafd..dc32294 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -7,7 +7,7 @@ include config-target.mak > include config-devices.mak > include $(SRC_PATH)/rules.mak > > -$(call set-vpath, $(SRC_PATH)) > +$(call set-vpath, $(SRC_PATH):$(BUILD_DIR)) > ifdef CONFIG_LINUX > QEMU_CFLAGS += -I../linux-headers > endif > Hi, can you reply with "Signed-off-by: Michael Marineau ", representing that you've read and agreed to the Developer Certificate of Origin (http://developercertificate.org/)? This is necessary to include your patch in QEMU. Paolo