On 9/16/24 01:56, Anders Roxell wrote:
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 kuba@kernel.org Signed-off-by: Anders Roxell anders.roxell@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; \
$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install \ INSTALL_PATH=$(INSTALL_PATH)/$$TARGET \ SRC_PATH=$(shell readlink -e $$(pwd)) \mkdir -p $$BUILD_TARGET; \
Doesn't the "all" target mkdir work for this case? Why do we need another mkdir here?
thanks, -- Shuah