diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2014-08-06 20:05:22 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-08-11 10:46:58 +0100 |
commit | 674e14555e6912453a96747ff017f49ac9350a52 (patch) | |
tree | ee611c0886a74e2b77d39697671b3bd41c1458e0 /meta/recipes-kernel | |
parent | 31de4a9d9ecc532ff6a6f5641852dc412a337cd7 (diff) | |
download | openembedded-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.inc | 11 |
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 50b448caed1..7e3b7adfc7e 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 +} |