[PATCH v2] Makefile: kselftest and kselftest-clean fail for make O=dir case

From: Shuah Khan
Date: Wed Sep 20 2017 - 13:32:56 EST


kselftest and kselftest-clean targets fail when object directory is
specified to relocate objects. Fix it so it can find the source tree
to build from.

make O=/tmp/kselftest_top kselftest

make[1]: Entering directory '/tmp/kselftest_top'
make[2]: Entering directory '/tmp/kselftest_top'
make[2]: *** tools/testing/selftests: No such file or directory. Stop.
make[2]: Leaving directory '/tmp/kselftest_top'
./linux-kselftest/Makefile:1185: recipe for target
'kselftest' failed
make[1]: *** [kselftest] Error 2
make[1]: Leaving directory '/tmp/kselftest_top'
Makefile:145: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2

Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
---
Changes v1 - V2: Simplify logic - use $(srctree)

Makefile | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 64cbc66cebca..7735fc32b24e 100644
--- a/Makefile
+++ b/Makefile
@@ -1169,14 +1169,13 @@ headers_check: headers_install

# ---------------------------------------------------------------------------
# Kernel selftest
-
PHONY += kselftest
kselftest:
- $(Q)$(MAKE) -C tools/testing/selftests run_tests
+ $(Q)$(MAKE) -C $(srctree)/tools/testing/selftests run_tests

PHONY += kselftest-clean
kselftest-clean:
- $(Q)$(MAKE) -C tools/testing/selftests clean
+ $(Q)$(MAKE) -C $(srctree)/tools/testing/selftests clean

PHONY += kselftest-merge
kselftest-merge:
--
2.11.0