build: get dependency file directories from object file names
After commit dcff25f2cd
, Dependency file
are taken from the directories that have a Makefile.objs file. This is
not enough, since files can be included from other directories.
So, pick them from directories that have an object file in them.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
cdc976b040
commit
1435ddb89c
4
Makefile
4
Makefile
|
@ -403,5 +403,5 @@ qemu-doc.dvi qemu-doc.html qemu-doc.info qemu-doc.pdf: \
|
||||||
Makefile: $(GENERATED_HEADERS)
|
Makefile: $(GENERATED_HEADERS)
|
||||||
|
|
||||||
# Include automatically generated dependency files
|
# Include automatically generated dependency files
|
||||||
# All subdir dependencies come automatically from our recursive subdir rules
|
# Dependencies in Makefile.objs files come from our recursive subdir rules
|
||||||
-include $(wildcard *.d)
|
-include $(wildcard *.d tests/*.d)
|
||||||
|
|
|
@ -18,6 +18,3 @@ all: $(libdis-y)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *.d *.a *~
|
rm -f *.o *.d *.a *~
|
||||||
|
|
||||||
# Include automatically generated dependency files
|
|
||||||
-include $(wildcard *.d)
|
|
||||||
|
|
|
@ -21,6 +21,3 @@ all: $(hw-obj-y)
|
||||||
clean:
|
clean:
|
||||||
rm -f $(addsuffix *.o, $(sort $(dir $(hw-obj-y))))
|
rm -f $(addsuffix *.o, $(sort $(dir $(hw-obj-y))))
|
||||||
rm -f $(addsuffix *.d, $(sort $(dir $(hw-obj-y))))
|
rm -f $(addsuffix *.d, $(sort $(dir $(hw-obj-y))))
|
||||||
|
|
||||||
# Include automatically generated dependency files
|
|
||||||
-include $(patsubst %.o, %.d, $(hw-obj-y))
|
|
||||||
|
|
|
@ -214,6 +214,3 @@ endif
|
||||||
|
|
||||||
GENERATED_HEADERS += config-target.h
|
GENERATED_HEADERS += config-target.h
|
||||||
Makefile: $(GENERATED_HEADERS)
|
Makefile: $(GENERATED_HEADERS)
|
||||||
|
|
||||||
# Include automatically generated dependency files
|
|
||||||
-include $(wildcard *.d fpu/*.d tcg/*.d)
|
|
||||||
|
|
|
@ -22,6 +22,3 @@ clean:
|
||||||
for d in . trace; do \
|
for d in . trace; do \
|
||||||
rm -f $$d/*.o $$d/*.d $$d/*.a $$d/*~; \
|
rm -f $$d/*.o $$d/*.d $$d/*.a $$d/*~; \
|
||||||
done
|
done
|
||||||
|
|
||||||
# Include automatically generated dependency files
|
|
||||||
-include $(wildcard *.d)
|
|
||||||
|
|
|
@ -94,7 +94,6 @@ define unnest-dir
|
||||||
$(foreach var,$(nested-vars),$(call push-var,$(var),$1/))
|
$(foreach var,$(nested-vars),$(call push-var,$(var),$1/))
|
||||||
$(eval obj := $(obj)/$1)
|
$(eval obj := $(obj)/$1)
|
||||||
$(eval include $(SRC_PATH)/$1/Makefile.objs)
|
$(eval include $(SRC_PATH)/$1/Makefile.objs)
|
||||||
$(eval -include $(wildcard $1/*.d))
|
|
||||||
$(eval obj := $(patsubst %/$1,%,$(obj)))
|
$(eval obj := $(patsubst %/$1,%,$(obj)))
|
||||||
$(foreach var,$(nested-vars),$(call pop-var,$(var),$1/))
|
$(foreach var,$(nested-vars),$(call pop-var,$(var),$1/))
|
||||||
endef
|
endef
|
||||||
|
@ -113,4 +112,6 @@ define unnest-vars
|
||||||
$(call unnest-vars-1)
|
$(call unnest-vars-1)
|
||||||
$(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var)))))
|
$(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var)))))
|
||||||
$(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var))))))
|
$(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var))))))
|
||||||
|
$(foreach var,$(nested-vars), $(eval \
|
||||||
|
-include $(addsuffix *.d, $(sort $(dir $($(var)))))))
|
||||||
endef
|
endef
|
||||||
|
|
Loading…
Reference in New Issue