Re: [PATCH 1/4] selftests: Fix kselftest O=objdir build from cluttering top level objdir

From: Randy Dunlap
Date: Thu May 14 2020 - 22:28:08 EST


On 3/11/20 4:31 PM, Shuah Khan wrote:
> On 3/11/20 4:58 PM, Kevin Hilman wrote:
>> Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> writes:
>>
>>> make kselftest-all O=objdir builds create generated objects in objdir.
>>> This clutters the top level directory with kselftest objects. Fix it
>>> to create sub-directory under objdir for kselftest objects.
>>>
>>> Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
>>
>> Only somewhat related to this patch, another problem that wasn't in your
>> doci is that the current O= support doesn't support relative paths.
>>
>
> Yes I am aware of it and it is in the document as something that will
> be addressed later.
>
> "Note: Relative paths donât work - supporting relative paths breaks work-flows e.g:
> powerpc. Explore fix. Compile work-flows. Not planning to support at the moment."

Hi,
Sorry to be dense but where is this documented (as quoted above)?

Thanks.

>> For example, using O=/tmp/build-arm64 works, but O=build-arm64 doesn't.
>> Try this:
>>
>> $ make ARCH=arm64 HOSTCC=gcc CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64 defconfig
>> $ make ARCH=arm64 HOSTCC=gcc CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64 kselftest-all
>> make[1]: Entering directory '/work/kernel/linux/build-arm64'
>> make --no-builtin-rules INSTALL_HDR_PATH=$BUILD/usr \
>> ÂÂÂÂARCH=arm64 -C ../../.. headers_install
>> make[4]: ../scripts/Makefile.build: No such file or directory
>> make[4]: *** No rule to make target '../scripts/Makefile.build'. Stop.
>> Makefile:500: recipe for target 'scripts_basic' failed
>> make[3]: *** [scripts_basic] Error 2
>> Makefile:151: recipe for target 'khdr' failed
>> make[2]: *** [khdr] Error 2
>> /work/kernel/linux/Makefile:1220: recipe for target 'kselftest-all' failed
>> make[1]: *** [kselftest-all] Error 2
>> make[1]: Leaving directory '/work/kernel/linux/build-arm64'
>> Makefile:179: recipe for target 'sub-make' failed
>> make: *** [sub-make] Error 2
>>
>
> I am looking to address build and install issues first.
>
> thanks,
> -- Shuah


--
~Randy