> -----Original Message----- > From: Shuah Khan on Monday, October 14, 2019 3:45 PM > > Fix O= and KBUILD_OUTPUT handling for relative paths. > > export KBUILD_OUTPUT=../kselftest_size > make TARGETS=size kselftest-all > > or > > make O=../kselftest_size TARGETS=size kselftest-all > > In both of these cases, targets get built in ../kselftest_size which is > a one level up from the size test directory. > > make[1]: Entering directory '/mnt/data/lkml/kselftest_size' > make --no-builtin-rules INSTALL_HDR_PATH=$BUILD/usr \ > ARCH=x86 -C ../../.. headers_install > INSTALL ../kselftest_size/usr/include > gcc -static -ffreestanding -nostartfiles -s get_size.c -o > ../kselftest_size/size/get_size > /usr/bin/ld: cannot open output file ../kselftest_size/size/get_size: No such > file or directory > collect2: error: ld returned 1 exit status > make[3]: *** [../lib.mk:138: ../kselftest_size/size/get_size] Error 1 > make[2]: *** [Makefile:143: all] Error 2 > make[1]: *** [/mnt/data/lkml/linux_5.4/Makefile:1221: kselftest-all] Error 2 > make[1]: Leaving directory '/mnt/data/lkml/kselftest_size' > make: *** [Makefile:179: sub-make] Error 2 > > Use abs_objtree exported by the main Makefile. > > Reported-by: Tim Bird <Tim.Bird@xxxxxxxx> > Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> > --- > tools/testing/selftests/Makefile | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/Makefile > b/tools/testing/selftests/Makefile > index 4cdbae6f4e61..3405aa26a655 100644 > --- a/tools/testing/selftests/Makefile > +++ b/tools/testing/selftests/Makefile > @@ -86,10 +86,10 @@ override LDFLAGS = > endif > > ifneq ($(O),) > - BUILD := $(O) > + BUILD := $(abs_objtree) > else > ifneq ($(KBUILD_OUTPUT),) > - BUILD := $(KBUILD_OUTPUT)/kselftest > + BUILD := $(abs_objtree)/kselftest > else > BUILD := $(shell pwd) > DEFAULT_INSTALL_HDR_PATH := 1 > @@ -102,6 +102,7 @@ include $(top_srcdir)/scripts/subarch.include > ARCH ?= $(SUBARCH) > export KSFT_KHDR_INSTALL_DONE := 1 > export BUILD > +#$(info abd_objtree = $(abs_objtree) BUILD = $(BUILD)) > > # build and run gpio when output directory is the src dir. > # gpio has dependency on tools/gpio and builds tools/gpio > -- This works great. Thanks very much. Tested-by: Tim Bird <tim.bird@xxxxxxxx> Acked-by: Tim Bird <tim.bird@xxxxxxxx> -- Tim