From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59743) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7ixv-00083A-9m for qemu-devel@nongnu.org; Tue, 31 May 2016 08:40:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b7ixr-0006J0-3m for qemu-devel@nongnu.org; Tue, 31 May 2016 08:40:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53684) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7ixq-0006HG-VL for qemu-devel@nongnu.org; Tue, 31 May 2016 08:40:07 -0400 Date: Tue, 31 May 2016 20:40:02 +0800 From: Fam Zheng Message-ID: <20160531124002.GB25364@ad.usersys.redhat.com> References: <20160527135437.20474-1-famz@redhat.com> <20160527135437.20474-5-famz@redhat.com> <20160531110058.GA24019@ad.usersys.redhat.com> <56a9a421-be5a-2e81-c4d2-aa1d41219ff4@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56a9a421-be5a-2e81-c4d2-aa1d41219ff4@redhat.com> Subject: Re: [Qemu-devel] [PATCH v6 04/15] Makefile: Rules for docker testing List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org, Alex =?iso-8859-1?Q?Benn=E9e?= On Tue, 05/31 14:02, Paolo Bonzini wrote: > > > On 31/05/2016 13:00, Fam Zheng wrote: > > On Tue, 05/31 10:51, Paolo Bonzini wrote: > >>> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include > >>> new file mode 100644 > >>> index 0000000..372733d > >>> --- /dev/null > >>> +++ b/tests/docker/Makefile.include > >>> @@ -0,0 +1,121 @@ > >>> +# Makefile for Docker tests > >>> + > >>> +include $(SRC_PATH)/rules.mak > >> > >> Why include this _and_ include tests/docker/Makefile.include from the > >> top Makefile? > > > > This is for quiet-command, which is only conditionally included by top > > Makefile. > > Ah, it's for the case when configure has not been executed yet and the > toplevel Makefile "assumes we are in the search tree". > > >> > >> I think you should do one of this: > >> > >> a) drop this inclusion; nice, but it pollutes the toplevel makefile a bit > >> > >> b) do the following: > >> > >> - link this file into the build tree in configure > >> > >> - include ../../config-host.mak > > > > I prefer we support running from the src tree without running configure, but > > $(MAKE) invocations doesn't propagate make variables such as SRC_PATH... > > > >> > >> - add to the toplevel Makefile a rule like > >> > >> docker docker-%: > >> $(MAKE) -C tests/docker $@ > > > > ... and explicitly passing it (and $(V), etc.) here seems very ad-hocery. > > V and others would be passed down to the recursive make. Only SRC_PATH > would not be passed down. Yes, you are right. So it certainly will work, I just preferred recursive include over resursive make for consistency (with tests/Makefile). > > >> > >> I prefer the latter. Either would make patch 3 unnecessary. > > > > Maybe I should make patch 3 a patch to make top Makefile include rules.mak > > unconditionally? > > Yeah, that would be good. > > I'm still a bit undecided about the pollution introduced by > tests/docker/Makefile.include, but I guess that's okay. I think it's also okay to switch to "make -C tests/docker" for docker targets (so "make docker" becomes "make -C tests/docker help"), this way the top Makefile is not touched. > > By the way, could you prepare a patch to rename tests/Makefile to > tests/Makefile.include? It's a good convention. Sounds good, will do. Fam