diff options
-rw-r--r-- | meta/classes/kernel.bbclass | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 51626b03f8..db5d479000 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass | |||
@@ -260,9 +260,21 @@ kernel_do_install() { | |||
260 | # we clean the scripts dir while leaving the generated config | 260 | # we clean the scripts dir while leaving the generated config |
261 | # and include files. | 261 | # and include files. |
262 | # | 262 | # |
263 | oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean | 263 | oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean _mrproper_scripts |
264 | make -C $kerneldir _mrproper_scripts | 264 | |
265 | find $kerneldir -path $kerneldir/lib -prune -o -path $kerneldir/tools -prune -o -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \; | 265 | # hide directories that shouldn't have their .c, s and S files deleted |
266 | for d in tools scripts lib; do | ||
267 | mv $kerneldir/$d $kerneldir/.$d | ||
268 | done | ||
269 | |||
270 | # delete .c, .s and .S files, unless we hid a directory as .<dir>. This technique is | ||
271 | # much faster than find -prune and -exec | ||
272 | find $kerneldir -not -path '*/\.*' -type f -name "*.[csS]" -delete | ||
273 | |||
274 | # put the hidden dirs back | ||
275 | for d in tools scripts lib; do | ||
276 | mv $kerneldir/.$d $kerneldir/$d | ||
277 | done | ||
266 | 278 | ||
267 | # As of Linux kernel version 3.0.1, the clean target removes | 279 | # As of Linux kernel version 3.0.1, the clean target removes |
268 | # arch/powerpc/lib/crtsavres.o which is present in | 280 | # arch/powerpc/lib/crtsavres.o which is present in |