qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 2/2] make: load only required dependency file


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v3 2/2] make: load only required dependency files.
Date: Sun, 9 Aug 2015 14:39:23 +0300

On Sun, Aug 09, 2015 at 12:39:59PM +0300, 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 | 8 +++++++-
>  rules.mak             | 2 +-
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> index bd4f147..ecdb400 100644
> --- a/hw/i386/Makefile.objs
> +++ b/hw/i386/Makefile.objs
> @@ -7,8 +7,14 @@ obj-$(CONFIG_XEN) += ../xenpv/ xen/
>  
>  obj-y += kvmvapic.o
>  obj-y += acpi-build.o
> +
> +gen-hex-y += hw/i386/acpi-dsdt.hex
> +gen-hex-y += hw/i386/q35-acpi-dsdt.hex
> +
>  hw/i386/acpi-build.o: hw/i386/acpi-build.c \
> -     hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex
> +     $(gen-hex-y)
> +
> +-include $(gen-hex-y:.hex=.d)
>  
>  iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \
>      ; then echo "$(2)"; else echo "$(3)"; fi ;)
> diff --git a/rules.mak b/rules.mak
> index 6e35c36..4551b9e 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -368,6 +368,6 @@ define unnest-vars
>                  $(error $o added in $v but $o-objs is not set)))
>          $(shell mkdir -p ./ $(sort $(dir $($v))))
>          # Include all the .d files
> -        $(eval -include $(addsuffix *.d, $(sort $(dir $($v)))))
> +        $(eval -include $(patsubst %.o,%.d,$(patsubst %.mo,%.d,$($v))))
>          $(eval $v := $(filter-out %/,$($v))))
>  endef

Please add space after each comma.

> -- 
> --Victor



reply via email to

[Prev in Thread] Current Thread [Next in Thread]