From: Paolo Bonzini Date: Wed, 11 Jul 2012 14:40:21 +0000 (+0200) Subject: build: get dependency file directories from object file names X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~3846 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1435ddb89c303c38ff23ff977dfb81953f32eb96;p=sdk%2Femulator%2Fqemu.git build: get dependency file directories from object file names After commit dcff25f2cd8c11a9368cc2369aeb0319c32d9e26, 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 Signed-off-by: Blue Swirl --- diff --git a/Makefile b/Makefile index a200503..a1195ff 100644 --- a/Makefile +++ b/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) diff --git a/Makefile.dis b/Makefile.dis index 09060f0..2cfec6a 100644 --- a/Makefile.dis +++ b/Makefile.dis @@ -18,6 +18,3 @@ all: $(libdis-y) clean: rm -f *.o *.d *.a *~ - -# Include automatically generated dependency files --include $(wildcard *.d) diff --git a/Makefile.hw b/Makefile.hw index 28fe100..59f5b48 100644 --- a/Makefile.hw +++ b/Makefile.hw @@ -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)) diff --git a/Makefile.target b/Makefile.target index 74f7a4a..7892a8d 100644 --- a/Makefile.target +++ b/Makefile.target @@ -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) diff --git a/Makefile.user b/Makefile.user index 1783b2a..9302d33 100644 --- a/Makefile.user +++ b/Makefile.user @@ -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) diff --git a/rules.mak b/rules.mak index 60f3e96..a284946 100644 --- a/rules.mak +++ b/rules.mak @@ -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