[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/2] make: load only required dependency file
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files. |
Date: |
Thu, 06 Aug 2015 09:05:36 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Paolo Bonzini <address@hidden> writes:
> 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.
>>
>> 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.
>>
>> Note that Makefile still includes some .d in rood directory by including
>> "*.d".
>>
>> Signed-off-by: Victor Kaplansky <address@hidden>
>> ---
>> hw/i386/Makefile.objs | 2 ++
>> rules.mak | 2 +-
>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> 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 += acpi-build.o
>> hw/i386/acpi-build.o: hw/i386/acpi-build.c \
>> hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex
>>
>> +-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
Not for me.
> and there are other cases where you should
> just "make distclean" your way out of a failure.
ccache saves.
> On the other hand,
> more complicated makefiles have to be maintained always.
Globbing in makefiles is rarely a good idea.
Including *.d is as questionable as linking *.o would be.