mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-07 14:24:18 +08:00
bfedc31c4f
The use of $$OUTPUT in the target shell commands resulted in an empty
string followed by an absolute path for which mkdir failed:
$ make -C tools/testing/selftests/futex
make: Entering directory '/home/dvhart/source/linux/linux-pdx86/tools/testing/selftests/futex'
Makefile:36: warning: overriding recipe for target 'clean'
../lib.mk:55: warning: ignoring old recipe for target 'clean'
for DIR in functional; do \
BUILD_TARGET=$OUTPUT/$DIR; \
mkdir $BUILD_TARGET -p; \
make OUTPUT=$BUILD_TARGET -C $DIR all;\
done
mkdir: cannot create directory ‘/functional’: Permission denied
Replace $$OUTPUT with $(OUTPUT) when referring to the Makefile OUTPUT
variable. The above make command now completes successfully.
Fixes: a8ba798bc8
("selftests: enable O and KBUILD_OUTPUT")
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
Cc: linux-kselftest@vger.kernel.org
Cc: bamvor.zhangjian@huawei.com
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
41 lines
865 B
Makefile
41 lines
865 B
Makefile
SUBDIRS := functional
|
|
|
|
TEST_PROGS := run.sh
|
|
|
|
.PHONY: all clean
|
|
|
|
include ../lib.mk
|
|
|
|
all:
|
|
for DIR in $(SUBDIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$DIR; \
|
|
mkdir $$BUILD_TARGET -p; \
|
|
make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
|
|
done
|
|
|
|
override define RUN_TESTS
|
|
@if [ `dirname $(OUTPUT)` = $(PWD) ]; then ./run.sh; fi
|
|
endef
|
|
|
|
override define INSTALL_RULE
|
|
mkdir -p $(INSTALL_PATH)
|
|
install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES)
|
|
|
|
@for SUBDIR in $(SUBDIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$SUBDIR; \
|
|
mkdir $$BUILD_TARGET -p; \
|
|
$(MAKE) OUTPUT=$$BUILD_TARGET -C $$SUBDIR INSTALL_PATH=$(INSTALL_PATH)/$$SUBDIR install; \
|
|
done;
|
|
endef
|
|
|
|
override define EMIT_TESTS
|
|
echo "./run.sh"
|
|
endef
|
|
|
|
clean:
|
|
for DIR in $(SUBDIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$DIR; \
|
|
mkdir $$BUILD_TARGET -p; \
|
|
make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
|
|
done
|