From 27fa7479801ac23609110535a997b2e3ed6eb867 Mon Sep 17 00:00:00 2001 From: Victor Kaplansky Date: Sun, 9 Aug 2015 12:39:59 +0300 Subject: 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 Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- rules.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rules.mak') 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 -- cgit v1.2.3-55-g7522