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

From: Michal Marek
Date: Wed Jun 04 2014 - 05:43:32 EST


On 2014-06-04 11:03, Richard Weinberger wrote:
> 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. :-)

I'll have a look, thanks for the report.

Michal

--
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/