Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests: gpio: Fix OUTPUT directory in Makefile

When simply running `make' from the selftests top dir, this
error shows up:

cc -O2 -g -std=gnu99 -Wall -I../../../../usr/include/ -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid gpio-mockup-chardev.c ../../../gpio/gpio-utils.o -lmount -o gpio-mockup-chardev
cc: error: ../../../gpio/gpio-utils.o: No such file or directory
<builtin>: recipe for target 'gpio-mockup-chardev' failed
make[1]: *** [gpio-mockup-chardev] Error 1

because the output directory is set to "selftests/gpio" and
all binaries built from ../../../gpio/ end up there. In fact,
they appear as, exempli gratia:
* gpiogpio-event-mon
* gpiogpio-hammer
* gpioinclude/
* gpiolsgpio
which is wrong, as it's missing a directory separator
somewhere.

This patch sets straight the output directory when building
../../../gpio/ so that binaries don't cross paths.

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>

authored by

Daniel Díaz and committed by
Shuah Khan (Samsung OSG)
8c7f6316 a4f222e0

+3 -3
+3 -3
tools/testing/selftests/gpio/Makefile
··· 7 7 TEST_FILES := gpio-mockup-sysfs.sh 8 8 TEST_PROGS_EXTENDED := gpio-mockup-chardev 9 9 10 - GPIODIR := ../../../gpio 10 + GPIODIR := $(realpath ../../../gpio) 11 11 GPIOOBJ := gpio-utils.o 12 12 13 13 include ../lib.mk ··· 16 16 17 17 override define CLEAN 18 18 $(RM) $(TEST_PROGS_EXTENDED) 19 - $(MAKE) -C $(GPIODIR) clean 19 + $(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean 20 20 endef 21 21 22 22 $(TEST_PROGS_EXTENDED):| khdr 23 23 $(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ) 24 24 25 25 $(GPIODIR)/$(GPIOOBJ): 26 - $(MAKE) -C $(GPIODIR) 26 + $(MAKE) OUTPUT=$(GPIODIR)/ -C $(GPIODIR)