From 78e127d4366f1c0fca66846cc7ab4303114da794 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Wed, 6 Aug 2014 20:05:22 -0700 Subject: 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. (From OE-Core rev: 674e14555e6912453a96747ff017f49ac9350a52) Signed-off-by: Robert Yang Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/recipes-kernel/kexec/kexec-tools.inc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'meta') 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 +} -- cgit 1.2.3-korg