make: load only required dependency files.
The old rules.mak loads dependency .d files using include directive with file glob pattern "*.d". This breaks the build when build tree has left-over *.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 root directory by including "*.d". Signed-off-by: Victor Kaplansky <victork@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
998b7b1db4
commit
27fa747980
@ -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 ;)
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user