Jan Kiszka wrote:
> From: Jan Kiszka <jan.kis...@siemens.com>
> 
> This seems to resolve subtle breakages of our build system:
> 
> Dependency files generated for targets like 'dir/foo.o' were saved as
> 'foo.d'. Now, if there was also a target 'foo.o', one of the dependency
> file was overwritten. Concrete example: libhw*/macio.o vs.
> libhw*/ide/macio.o. And this often left a segfaulting build result
> behind when changing the "wrong" data structures".

Actually, most lethal was qdev.o vs. ide/qdev.o.

Jan

> 
> Fix it by generating proper 'dir/foo.d'.
> 
> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
> ---
>  rules.mak |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/rules.mak b/rules.mak
> index 7e10432..c843a13 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -12,7 +12,7 @@ MAKEFLAGS += -rR
>  %.mak:
> 
>  # Flags for dependency generation
> -QEMU_DGFLAGS += -MMD -MP -MT $@
> +QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d
> 
>  %.o: %.c
>       $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c
> -o $@ $<,"  CC    $(TARGET_DIR)$@")


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to