Commit 27fa7479 authored by Victor Kaplansky's avatar Victor Kaplansky Committed by Michael S. Tsirkin
Browse files

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: default avatarVictor Kaplansky <victork@redhat.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 998b7b1d
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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 ;)
+1 −1
Original line number Diff line number Diff line
@@ -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