Re: [PATCH v2 3/5] kbuild: Use relative path for $(objtree)

From: Richard Weinberger
Date: Wed Jun 04 2014 - 05:04:04 EST


On Fri, May 9, 2014 at 2:52 PM, Michal Marek <mmarek@xxxxxxx> wrote:
> The main Makefile sets its working directory to the object tree and
> never changes it again. Therefore, we can use '.' instead of the
> absolute path. The only case where we need the absolute path is when
> creating the 'build' symlink in /lib/modules.
>
> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
> Signed-off-by: Michal Marek <mmarek@xxxxxxx>
> ---
> v1->v2: Fix the 'build' symlink
>
> Makefile | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 60ccbfe..480503a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -154,7 +154,7 @@ _all: modules
> endif
>
> srctree := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))
> -objtree := $(CURDIR)
> +objtree := .
> src := $(srctree)
> obj := $(objtree)
>
> @@ -1057,7 +1057,7 @@ _modinst_:
> @ln -s $(srctree) $(MODLIB)/source
> @if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
> rm -f $(MODLIB)/build ; \
> - ln -s $(objtree) $(MODLIB)/build ; \
> + ln -s $(CURDIR) $(MODLIB)/build ; \
> fi
> @cp -f $(objtree)/modules.order $(MODLIB)/
> @cp -f $(objtree)/modules.builtin $(MODLIB)/

This commit breaks the of-of-tree build of UML.

CC arch/x86/um/user-offsets.s
/home/rw/linux-next/arch/x86/um/user-offsets.c:21:29: fatal error:
asm/syscalls_64.h: No such file or directory
compilation terminated.
make[2]: *** [arch/x86/um/user-offsets.s] Error 1
make[1]: *** [arch/x86/um/user-offsets.s] Error 2
make: *** [sub-make] Error 2

To reproduce run:
make defconfig ARCH=um O=/mnt/o && make linux ARCH=um O=/mnt/

If there is anything in UML which needs fixing, please tell. :-)

--
Thanks,
//richard
--
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/