From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:54052) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Stdom-0006gu-0L for qemu-devel@nongnu.org; Tue, 24 Jul 2012 08:02:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Stdok-0004vl-QV for qemu-devel@nongnu.org; Tue, 24 Jul 2012 08:02:23 -0400 Received: from mail-gh0-f173.google.com ([209.85.160.173]:41553) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Stdok-0004vT-Ll for qemu-devel@nongnu.org; Tue, 24 Jul 2012 08:02:22 -0400 Received: by ghrr14 with SMTP id r14so6632841ghr.4 for ; Tue, 24 Jul 2012 05:02:22 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <500E8EC7.4050307@redhat.com> Date: Tue, 24 Jul 2012 14:02:15 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1342017621-12650-1-git-send-email-pbonzini@redhat.com> <1342017621-12650-3-git-send-email-pbonzini@redhat.com> <500E8935.3010603@suse.de> <500E8A44.5070705@redhat.com> <500E8CA5.7010008@suse.de> In-Reply-To: <500E8CA5.7010008@suse.de> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?ISO-8859-15?Q?Andreas_F=E4rber?= Cc: jan.kiszka@siemens.com, aliguori@us.ibm.com, qemu-devel@nongnu.org, avi@redhat.com Il 24/07/2012 13:53, Andreas Färber ha scritto: > Am 24.07.2012 13:43, schrieb Paolo Bonzini: >> Il 24/07/2012 13:38, Andreas Färber ha scritto: >>>>> +$(foreach var,$(nested-vars), $(eval \ >>>>> + -include $(addsuffix *.d, $(sort $(dir $($(var))))))) >>>>> endef >>>>> >>> Are you sure? Dependencies are not guaranteed to be in one of the >>> unnested variables, thought we ran into some issues earlier... In >>> particular I'm thinking of tcg/*.d and of *.d in .user, .target, those >>> that are actually recursed into. >> >> obj-y is a nested variable: >> >> nested-vars += obj-y >> >> # This resolves all nested paths, so it must come last >> include $(SRC_PATH)/Makefile.objs >> >> $(dir $(obj-y)) contains tcg/ and from there you get tcg/*.d. >> >> The only makefile that doesn't use the nesting mechanism is tests/Makefile. > > I think you misunderstood: My worry is > > qemu-something: $(obj-y) foo bar baz > > obj-y and friends are handled, foo, bar, baz are not. If you checked all > those cases, fine with me. :) Otherwise the new unnesting rule is fine, > but not all "*.d" inclusions could be deleted. Ah, yes, I did. The only cases are in the toplevel Makefile (and the included tests/Makefile), hence this statement left in that Makefile: +-include $(wildcard *.d tests/*.d) Paolo