Re: [PATCH v2] selftests: kcmp build fails when invoked from kselftest target

From: Shuah Khan
Date: Wed Mar 11 2015 - 09:33:10 EST


On 03/10/2015 08:19 PM, Michael Ellerman wrote:
> On Tue, 2015-03-10 at 18:08 -0600, Shuah Khan wrote:
>> kcmp Makefile doesn't have an explicit build rule. As a result,
>> kcmp build fails, when it is run from top level Makefile target
>> kselftest. Without the explicit rule, make works only when it is
>> run in the current directory or from selftests directory. Add an
>> explicit build rule to fix the problem.
>
> This should be fixed properly using my patch to filter -rR or similar.

I don't agree with this. Relying on ARCH Makefiles doing the
right thing for individual tests to build makes it difficult
to maintain. We will keep running into problems for each of
the ARCH.

I would rather have this addressed in the individual Makefiles
with an explicit rule and if -rR approach works, great. So it
has to be two pronged approach with individual Makefiles being
able to work irrespective of ARCH Makefiles doing the right
thing.

>
>> In addition, build fails
>> as it can't find kcmp.h. Fix it by passing CFLAGS.
>
> That is also wrong. It should *not* be looking in include/uapi.
>
> If it needs headers then it should be using the *exported* headers, which are
> in ../../../../usr/include as the existing CFLAGS specifiy.
>
> Those headers are installed as part of 'make headers_install'.
>

Adding uapi covers both cases where the headers aren't installed yet.
Also make V=1 doesn't show CFLAGS getting passed in. They need to be
passed in explicitly even when run from the kcmp directory.

-- Shuah


--
Shuah Khan
Sr. Linux Kernel Developer
Open Source Innovation Group
Samsung Research America (Silicon Valley)
shuahkh@xxxxxxxxxxxxxxx | (970) 217-8978
--
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/