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

From: Caveh Jalali
Date: Wed Sep 16 2009 - 22:30:54 EST


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@xxxxxxxxxxxxxxxx>
Date:   Fri Aug 1 15:20:30 2008 +1000

   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:


--- /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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/