Re: [patch] Makefile: can't build modules outside the kernel tree if it was built using O=

Américo Wang
2009-09-17T03:22:06Z

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 2158 bytes --]

On Thu, Sep 17, 2009 at 10:30 AM, Caveh Jalali <ecaveh@gmail.com> wrote:
> in 2.6.31, it is no longer possible to build kernel modules for some platforms
> (the ones that need include2) outside the kernel src tree if the
> src tree was built using O= to specify an alternate directory for the
> build output.
>
> i think this broke with the following commit:
>
> commit b8b572e1015f81b4e748417be2629dfe51ab99f9
> Author: Stephen Rothwell <sfr@canb.auug.org.au>
> Date:Â Â  Fri Aug 1 15:20:30 2008 +1000

Only after 2.6.31? This commit was on 2008 Aug 1...

>
> Â Â  powerpc: Move include files to arch/powerpc/include/asm
>
>
> when the platform specific include directories were shuffled around
> without updating the
> top level Makefile. Â however, i think this FAIL is generic, and not
> limited to powerpc.
> here's a patch to the top level Makefile to teach it about the shuffled files:
>

You forgot your SOB line.

Anyway, it looks fine.

Acked-by: WANG Cong <xiyou.wangcong@gmail.com>

>
> --- /local/caveh/linux/linux-2.6.31/MakefileÂ Â Â  2009-09-09
> 15:13:59.000000000 -0700
> +++ MakefileÂ Â Â  2009-09-16 12:23:05.000000000 -0700
> @@ -958,9 +958,9 @@ ifneq ($(KBUILD_SRC),)
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  echo "Â  in the '$(srctree)' directory.";\
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /bin/false; \
> Â Â Â Â Â Â Â  fi;
> -Â Â Â Â Â Â  $(Q)if [ ! -d include2 ]; thenÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
> -Â Â Â Â Â Â Â Â Â Â  mkdir -p include2;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
> -Â Â Â Â Â Â Â Â Â Â  ln -fsn $(srctree)/include/asm-$(SRCARCH) include2/asm;Â Â Â Â  \
> +Â Â Â Â Â Â  $(Q)if [ ! -d include2 ]; thenÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
> +Â Â Â Â Â Â Â Â Â Â  mkdir -p include2;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
> +Â Â Â Â Â Â Â Â Â Â  ln -fsn $(srctree)/arch/$(SRCARCH)/include/asm include2/asm; \
> Â Â Â Â Â Â Â  fi
> Â endif
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éÝ¶\x17¥Šwÿº{.nÇ+‰·¥Š{±þFîŠWÿŠ{ayº\x1dÊ‡Ú™ë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á