make: automatically include dependencies in recursive subdir rules (v2)

I think I understand enough of what's going on in these rules to ensure this is
right.  But I could certainly use a second or third opinion...

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Anthony Liguori 2012-06-17 19:01:32 -05:00
parent 8be74dc0ba
commit dcff25f2cd
7 changed files with 8 additions and 6 deletions

View File

@ -406,5 +406,5 @@ tar:
Makefile: $(GENERATED_HEADERS)
# Include automatically generated dependency files
-include $(wildcard *.d audio/*.d slirp/*.d block/*.d net/*.d ui/*.d qapi/*.d)
-include $(wildcard qga/*.d hw/*.d hw/usb/*.d)
# All subdir dependencies come automatically from our recursive subdir rules
-include $(wildcard *.d)

View File

@ -20,4 +20,4 @@ clean:
rm -f *.o *.d *.a *~
# Include automatically generated dependency files
-include $(wildcard *.d */*.d)
-include $(wildcard *.d)

View File

@ -216,4 +216,4 @@ GENERATED_HEADERS += config-target.h
Makefile: $(GENERATED_HEADERS)
# Include automatically generated dependency files
-include $(wildcard *.d */*.d)
-include $(wildcard *.d)

View File

@ -23,4 +23,4 @@ clean:
done
# Include automatically generated dependency files
-include $(wildcard *.d */*.d)
-include $(wildcard *.d)

View File

@ -7,7 +7,7 @@ obj-y += debugcon.o multiboot.o
obj-y += pc_piix.o
obj-y += pc_sysfw.o
obj-$(CONFIG_XEN) += xen_platform.o xen_apic.o
obj-$(CONFIG_KVM) += kvm/clock.o kvm/apic.o kvm/i8259.o kvm/ioapic.o kvm/i8254.o
obj-y += kvm/
obj-$(CONFIG_SPICE) += qxl.o qxl-logger.o qxl-render.o
obj-y := $(addprefix ../,$(obj-y))

1
hw/kvm/Makefile.objs Normal file
View File

@ -0,0 +1 @@
obj-$(CONFIG_KVM) += clock.o apic.o i8259.o ioapic.o i8254.o

View File

@ -94,6 +94,7 @@ define unnest-dir
$(foreach var,$(nested-vars),$(call push-var,$(var),$1/))
$(eval obj := $(obj)/$1)
$(eval include $(SRC_PATH)/$1/Makefile.objs)
$(eval -include $(wildcard $1/*.d))
$(eval obj := $(patsubst %/$1,%,$(obj)))
$(foreach var,$(nested-vars),$(call pop-var,$(var),$1/))
endef