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)
|
||||
|
||||
# Include automatically generated dependency files
|
||||
# All subdir dependencies come automatically from our recursive subdir rules
|
||||
-include $(wildcard *.d)
|
||||
# Dependencies in Makefile.objs files come from our recursive subdir rules
|
||||
-include $(wildcard *.d tests/*.d)
|
||||
|
@ -18,6 +18,3 @@ all: $(libdis-y)
|
||||
|
||||
clean:
|
||||
rm -f *.o *.d *.a *~
|
||||
|
||||
# Include automatically generated dependency files
|
||||
-include $(wildcard *.d)
|
||||
|
@ -21,6 +21,3 @@ all: $(hw-obj-y)
|
||||
clean:
|
||||
rm -f $(addsuffix *.o, $(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
|
||||
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 \
|
||||
rm -f $$d/*.o $$d/*.d $$d/*.a $$d/*~; \
|
||||
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/))
|
||||
$(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
|
||||
@ -113,4 +112,6 @@ define unnest-vars
|
||||
$(call unnest-vars-1)
|
||||
$(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var)))))
|
||||
$(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var))))))
|
||||
$(foreach var,$(nested-vars), $(eval \
|
||||
-include $(addsuffix *.d, $(sort $(dir $($(var)))))))
|
||||
endef
|
||||
|
Loading…
Reference in New Issue
Block a user