diff options
| author | Victor Kaplansky <victork@redhat.com> | 2015-08-09 12:39:59 +0300 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2015-08-13 14:08:25 +0300 |
| commit | 27fa7479801ac23609110535a997b2e3ed6eb867 (patch) | |
| tree | fbdb3219027a9ccbbe5eb3637414465fe9b2b01c | |
| parent | 998b7b1db4f61ee2784d8e9050c3dda15abd4425 (diff) | |
| download | focaccia-qemu-27fa7479801ac23609110535a997b2e3ed6eb867.tar.gz focaccia-qemu-27fa7479801ac23609110535a997b2e3ed6eb867.zip | |
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>
| -rw-r--r-- | hw/i386/Makefile.objs | 8 | ||||
| -rw-r--r-- | rules.mak | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs index bd4f147f9d..ecdb40099d 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 6e35c361bb..4551b9ea70 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 |