From 207d2e1006b345c72a8c15e0ae4554508d1cdc2d Mon Sep 17 00:00:00 2001 From: Franz Schnyder Date: Sun, 22 Nov 2015 15:57:44 +0100 Subject: [PATCH] Bug 482784 - Include gcc generated make dependency files. So that also changes in header files are recognized. This ensures that source files that include changed header files are recompiled during the next build. Change-Id: Ice5439fe42cf5039a2520ee0290fbd93ee985f6f Signed-off-by: Franz Schnyder --- .../templates/board.mk | 30 ++++++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/toolchains/arduino/org.eclipse.cdt.arduino.core/templates/board.mk b/toolchains/arduino/org.eclipse.cdt.arduino.core/templates/board.mk index c22aa43..1f0971b 100644 --- a/toolchains/arduino/org.eclipse.cdt.arduino.core/templates/board.mk +++ b/toolchains/arduino/org.eclipse.cdt.arduino.core/templates/board.mk @@ -91,28 +91,40 @@ size: <#list project_srcs as file> <#assign cpp = file?matches("(.*)\\.cpp")> <#if cpp> -${build_path}/project/${cpp?groups[1]}.cpp.o: ../${file} +${build_path}/project/${cpp?groups[1]}.cpp.o: ../${file} ${build_path}/project/${cpp?groups[1]}.cpp.d @$(call mymkdir,$(dir $@)) ${recipe_cpp_o_pattern} +${build_path}/project/${cpp?groups[1]}.cpp.d: ; + +-include ${build_path}/project/${cpp?groups[1]}.cpp.d + <#list platform_srcs as file> <#assign cpp = file?matches("${platform_path}/(.*)\\.cpp")> <#if cpp> -${build_path}/platform/${cpp?groups[1]}.cpp.o: ${file} +${build_path}/platform/${cpp?groups[1]}.cpp.o: ${file} ${build_path}/platform/${cpp?groups[1]}.cpp.d @$(call mymkdir,$(dir $@)) ${recipe_cpp_o_pattern} ${recipe_ar_pattern} +${build_path}/platform/${cpp?groups[1]}.cpp.d: ; + +-include ${build_path}/platform/${cpp?groups[1]}.cpp.d + <#assign c = file?matches("${platform_path}/(.*)\\.c")> <#if c> -${build_path}/platform/${c?groups[1]}.c.o: ${file} +${build_path}/platform/${c?groups[1]}.c.o: ${file} ${build_path}/platform/${c?groups[1]}.c.d @$(call mymkdir,$(dir $@)) ${recipe_c_o_pattern} ${recipe_ar_pattern} + +${build_path}/platform/${c?groups[1]}.c.d: ; + +-include ${build_path}/platform/${c?groups[1]}.c.d <#assign S = file?matches("${platform_path}/(.*)\\.S")> @@ -131,19 +143,27 @@ ${build_path}/platform/${S?groups[1]}.S.o: ${file} <#assign cpp = file?matches("${platform_path}/libraries/(.*?)/(.*)\\.cpp")> <#if cpp> -${build_path}/libraries/${cpp?groups[1]}/${cpp?groups[2]}.cpp.o: ${file} +${build_path}/libraries/${cpp?groups[1]}/${cpp?groups[2]}.cpp.o: ${file} ${build_path}/libraries/${cpp?groups[1]}/${cpp?groups[2]}.cpp.d @$(call mymkdir,$(dir $@)) ${recipe_cpp_o_pattern} +${build_path}/libraries/${cpp?groups[1]}/${cpp?groups[2]}.cpp.d: ; + +-include ${build_path}/libraries/${cpp?groups[1]}/${cpp?groups[2]}.cpp.d + <#assign c = file?matches("${libraries_path}/(.*?)/.*?/(.*)\\.c")> <#if !c> <#assign c = file?matches("${platform_path}/libraries/(.*?)/(.*)\\.c")> <#if c> -${build_path}/libraries/${c?groups[1]}/${c?groups[2]}.c.o: ${file} +${build_path}/libraries/${c?groups[1]}/${c?groups[2]}.c.o: ${file} ${build_path}/libraries/${c?groups[1]}/${c?groups[2]}.c.d @$(call mymkdir,$(dir $@)) ${recipe_c_o_pattern} +${build_path}/libraries/${c?groups[1]}/${c?groups[2]}.c.d: ; + +-include ${build_path}/libraries/${c?groups[1]}/${c?groups[2]}.c.d + \ No newline at end of file -- 2.7.4