From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41141) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StdRo-0006gq-1g for qemu-devel@nongnu.org; Tue, 24 Jul 2012 07:38:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1StdRh-0006KM-QY for qemu-devel@nongnu.org; Tue, 24 Jul 2012 07:38:39 -0400 Received: from cantor2.suse.de ([195.135.220.15]:33357 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StdRh-0006KG-GB for qemu-devel@nongnu.org; Tue, 24 Jul 2012 07:38:33 -0400 Message-ID: <500E8935.3010603@suse.de> Date: Tue, 24 Jul 2012 13:38:29 +0200 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1342017621-12650-1-git-send-email-pbonzini@redhat.com> <1342017621-12650-3-git-send-email-pbonzini@redhat.com> In-Reply-To: <1342017621-12650-3-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable 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: Paolo Bonzini Cc: jan.kiszka@siemens.com, aliguori@us.ibm.com, qemu-devel@nongnu.org, avi@redhat.com Am 11.07.2012 16:40, schrieb Paolo Bonzini: > After commit dcff25f2cd8c11a9368cc2369aeb0319c32d9e26, Dependency file > are taken from the directories that have a Makefile.objs file. This is > not enough, since files can be included from other directories. > So, pick them from directories that have an object file in them. >=20 > Signed-off-by: Paolo Bonzini > --- > Makefile | 2 +- > Makefile.dis | 3 --- > Makefile.hw | 3 --- > Makefile.target | 3 --- > Makefile.user | 3 --- > rules.mak | 3 ++- > 6 files changed, 3 insertions(+), 14 deletions(-) >=20 > diff --git a/Makefile b/Makefile > index 1b7cd2f..221319e 100644 > --- a/Makefile > +++ b/Makefile > @@ -406,5 +406,5 @@ tar: > Makefile: $(GENERATED_HEADERS) > =20 > # Include automatically generated dependency files > -# All subdir dependencies come automatically from our recursive subdir= rules > --include $(wildcard *.d) > +# Dependencies in Makefile.objs files come from our recursive subdir r= ules > +-include $(wildcard *.d tests/*.d) > diff --git a/Makefile.dis b/Makefile.dis > index 09060f0..2cfec6a 100644 > --- a/Makefile.dis > +++ b/Makefile.dis > @@ -18,6 +18,3 @@ all: $(libdis-y) > =20 > clean: > rm -f *.o *.d *.a *~ > - > -# Include automatically generated dependency files > --include $(wildcard *.d) > diff --git a/Makefile.hw b/Makefile.hw > index 28fe100..59f5b48 100644 > --- a/Makefile.hw > +++ b/Makefile.hw > @@ -21,6 +21,3 @@ all: $(hw-obj-y) > clean: > rm -f $(addsuffix *.o, $(sort $(dir $(hw-obj-y)))) > rm -f $(addsuffix *.d, $(sort $(dir $(hw-obj-y)))) > - > -# Include automatically generated dependency files > --include $(patsubst %.o, %.d, $(hw-obj-y)) > diff --git a/Makefile.target b/Makefile.target > index 74f7a4a..7892a8d 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -214,6 +214,3 @@ endif > =20 > GENERATED_HEADERS +=3D config-target.h > Makefile: $(GENERATED_HEADERS) > - > -# Include automatically generated dependency files > --include $(wildcard *.d fpu/*.d tcg/*.d) > diff --git a/Makefile.user b/Makefile.user > index 1783b2a..9302d33 100644 > --- a/Makefile.user > +++ b/Makefile.user > @@ -22,6 +22,3 @@ clean: > for d in . trace; do \ > rm -f $$d/*.o $$d/*.d $$d/*.a $$d/*~; \ > done > - > -# Include automatically generated dependency files > --include $(wildcard *.d) > diff --git a/rules.mak b/rules.mak > index 60f3e96..a284946 100644 > --- a/rules.mak > +++ b/rules.mak > @@ -94,7 +94,6 @@ define unnest-dir > $(foreach var,$(nested-vars),$(call push-var,$(var),$1/)) > $(eval obj :=3D $(obj)/$1) > $(eval include $(SRC_PATH)/$1/Makefile.objs) > -$(eval -include $(wildcard $1/*.d)) > $(eval obj :=3D $(patsubst %/$1,%,$(obj))) > $(foreach var,$(nested-vars),$(call pop-var,$(var),$1/)) > endef > @@ -113,4 +112,6 @@ define unnest-vars > $(call unnest-vars-1) > $(foreach var,$(nested-vars),$(eval $(var) :=3D $(filter-out %/, $($(v= ar))))) > $(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var))))= )) > +$(foreach var,$(nested-vars), $(eval \ > + -include $(addsuffix *.d, $(sort $(dir $($(var))))))) > endef >=20 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. Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg