When cross building kselftest out-of-tree the following issue can be
seen:

[...]
make[4]: Entering directory
'/src/kernel/linux/tools/testing/selftests/net/lib'
  CC       csum
/usr/lib/gcc-cross/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/bin/ld:
cannot open output file /tmp/build/kselftest/net/lib/csum: No such
file or directory
collect2: error: ld returned 1 exit status
[...]

Create the output build directory before building the targets, solves
this issue with building 'net/lib/csum'.

Suggested-by: Jakub Kicinski <k...@kernel.org>
Signed-off-by: Anders Roxell <anders.rox...@linaro.org>
---
 tools/testing/selftests/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
index b38199965f99..05c143bcff6a 100644
--- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile
@@ -261,6 +261,7 @@ ifdef INSTALL_PATH
        @ret=1; \
        for TARGET in $(TARGETS) $(INSTALL_DEP_TARGETS); do \
                BUILD_TARGET=$$BUILD/$$TARGET;  \
+               mkdir -p $$BUILD_TARGET;        \
                $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install \
                                INSTALL_PATH=$(INSTALL_PATH)/$$TARGET \
                                SRC_PATH=$(shell readlink -e $$(pwd)) \
-- 
2.45.2


Reply via email to