From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54037) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZN2fk-0006PG-I9 for qemu-devel@nongnu.org; Wed, 05 Aug 2015 13:40:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZN2ff-0005Sm-IO for qemu-devel@nongnu.org; Wed, 05 Aug 2015 13:40:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33554) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZN2ff-0005SF-D4 for qemu-devel@nongnu.org; Wed, 05 Aug 2015 13:40:07 -0400 References: <1438795570-3930-1-git-send-email-victork@redhat.com> <1438795570-3930-3-git-send-email-victork@redhat.com> From: Paolo Bonzini Message-ID: <55C24A70.1080800@redhat.com> Date: Wed, 5 Aug 2015 19:40:00 +0200 MIME-Version: 1.0 In-Reply-To: <1438795570-3930-3-git-send-email-victork@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Victor Kaplansky , qemu-devel@nongnu.org Cc: Peter Maydell , Richard Henderson , "Michael S. Tsirkin" , Eduardo Habkost , Stefan Weil On 05/08/2015 19:29, Victor Kaplansky wrote: > The old rules.mak loads dependency .d files using include directive > with file glob pattern "*.d". This breaks the build when build tree has > remanent *.d files from another build. >=20 > This patch fixes this by > - loading precise list of .d files made from *.o and *.mo. > - specifying explicit list of required dependency info files for > *.hex autogenerated sources. >=20 > Note that Makefile still includes some .d in rood directory by includin= g > "*.d". >=20 > Signed-off-by: Victor Kaplansky > --- > hw/i386/Makefile.objs | 2 ++ > rules.mak | 2 +- > 2 files changed, 3 insertions(+), 1 deletion(-) >=20 > diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs > index bd4f147..311d364 100644 > --- a/hw/i386/Makefile.objs > +++ b/hw/i386/Makefile.objs > @@ -10,6 +10,8 @@ obj-y +=3D acpi-build.o > hw/i386/acpi-build.o: hw/i386/acpi-build.c \ > hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex > =20 > +-include hw/i386/acpi-dsdt.d hw/i386/q35-acpi-dsdt.d > + Having to include the files manually is ugly though. The failed builds are ugly too, but I'm not sure which is worse... :( Failed builds happen rarely and there are other cases where you should just "make distclean" your way out of a failure. On the other hand, more complicated makefiles have to be maintained always. Paolo