aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2014-08-06 20:05:22 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-11 10:46:58 +0100
commit674e14555e6912453a96747ff017f49ac9350a52 (patch)
treeee611c0886a74e2b77d39697671b3bd41c1458e0 /meta/recipes-kernel
parent31de4a9d9ecc532ff6a6f5641852dc412a337cd7 (diff)
downloadopenembedded-core-contrib-674e14555e6912453a96747ff017f49ac9350a52.tar.gz
kexec-tools: fix recompile error
Fixed: NOTE: make -j 32 make: *** No rule to make target `/path/to/sysroot/4.9.0/include/stddef.h', needed by `kexec/kexec.o'. Stop. This happens when upgrade gcc from 4.9.0 to 4.9.1, and the kexec/kexec.d isn't regenerated when recompile, the content of it are: [snip] kexec/kexec.o: /path/to/sysroot/4.9.0/include/stddef.h [snip] And Makefile includes the kexec/kexec.d file if it exists, so there would be errors when /path/to/sysroot/4.9.0/include/stddef.h doesn't exist. Remove kexec/kexec.d and other similar files will fix the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-kernel')
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools.inc11
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/recipes-kernel/kexec/kexec-tools.inc b/meta/recipes-kernel/kexec/kexec-tools.inc
index 50b448caed..7e3b7adfc7 100644
--- a/meta/recipes-kernel/kexec/kexec-tools.inc
+++ b/meta/recipes-kernel/kexec/kexec-tools.inc
@@ -15,3 +15,14 @@ inherit autotools-brokensep
COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|powerpc.*|mips.*)-(linux|freebsd.*)'
INSANE_SKIP_${PN} = "arch"
+
+do_compile_prepend() {
+ # Remove the '*.d' file to make sure the recompile is OK
+ for dep in `find ${B} -type f -name '*.d'`; do
+ dep_no_d="`echo $dep | sed 's#.d$##'`"
+ # Remove file.d when there is a file.o
+ if [ -f "$dep_no_d.o" ]; then
+ rm -f $dep
+ fi
+ done
+}