* [PATCH 1/4] selftests/gpio: Use TEST_GEN_PROGS_EXTENDED
@ 2020-11-04 10:08 Michael Ellerman
2020-11-04 10:08 ` [PATCH 2/4] selftests/gpio: Move include of lib.mk up Michael Ellerman
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Michael Ellerman @ 2020-11-04 10:08 UTC (permalink / raw
To: linux-kselftest, skhan; +Cc: linux-kernel, linux-gpio
Use TEST_GEN_PROGS_EXTENDED rather than TEST_PROGS_EXTENDED.
That tells the lib.mk logic that the files it references are to be
generated by the Makefile.
Having done that we don't need to override the all rule.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
tools/testing/selftests/gpio/Makefile | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
index 32bdc978a711..c85fb5acf5f4 100644
--- a/tools/testing/selftests/gpio/Makefile
+++ b/tools/testing/selftests/gpio/Makefile
@@ -11,22 +11,20 @@ LDLIBS += $(VAR_LDLIBS)
TEST_PROGS := gpio-mockup.sh
TEST_FILES := gpio-mockup-sysfs.sh
-TEST_PROGS_EXTENDED := gpio-mockup-chardev
+TEST_GEN_PROGS_EXTENDED := gpio-mockup-chardev
GPIODIR := $(realpath ../../../gpio)
GPIOOBJ := gpio-utils.o
-all: $(TEST_PROGS_EXTENDED)
-
override define CLEAN
- $(RM) $(TEST_PROGS_EXTENDED)
+ $(RM) $(TEST_GEN_PROGS_EXTENDED)
$(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
endef
KSFT_KHDR_INSTALL := 1
include ../lib.mk
-$(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
+$(TEST_GEN_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
$(GPIODIR)/$(GPIOOBJ):
$(MAKE) OUTPUT=$(GPIODIR)/ -C $(GPIODIR)
base-commit: cf7cd542d1b538f6e9e83490bc090dd773f4266d
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/4] selftests/gpio: Move include of lib.mk up
2020-11-04 10:08 [PATCH 1/4] selftests/gpio: Use TEST_GEN_PROGS_EXTENDED Michael Ellerman
@ 2020-11-04 10:08 ` Michael Ellerman
2020-11-04 10:08 ` [PATCH 3/4] selftests/gpio: Fix build when source tree is read only Michael Ellerman
2020-11-04 10:08 ` [PATCH 4/4] selftests/gpio: Add to CLEAN rule rather than overriding Michael Ellerman
2 siblings, 0 replies; 4+ messages in thread
From: Michael Ellerman @ 2020-11-04 10:08 UTC (permalink / raw
To: linux-kselftest, skhan; +Cc: linux-kernel, linux-gpio
Move the include of lib.mk up so that in a subsequent patch we can use
OUTPUT, which is initialised by lib.mk, in the definition of the GPIO
variables.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
tools/testing/selftests/gpio/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
index c85fb5acf5f4..615c8a953ade 100644
--- a/tools/testing/selftests/gpio/Makefile
+++ b/tools/testing/selftests/gpio/Makefile
@@ -13,6 +13,9 @@ TEST_PROGS := gpio-mockup.sh
TEST_FILES := gpio-mockup-sysfs.sh
TEST_GEN_PROGS_EXTENDED := gpio-mockup-chardev
+KSFT_KHDR_INSTALL := 1
+include ../lib.mk
+
GPIODIR := $(realpath ../../../gpio)
GPIOOBJ := gpio-utils.o
@@ -21,9 +24,6 @@ override define CLEAN
$(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
endef
-KSFT_KHDR_INSTALL := 1
-include ../lib.mk
-
$(TEST_GEN_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
$(GPIODIR)/$(GPIOOBJ):
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/4] selftests/gpio: Fix build when source tree is read only
2020-11-04 10:08 [PATCH 1/4] selftests/gpio: Use TEST_GEN_PROGS_EXTENDED Michael Ellerman
2020-11-04 10:08 ` [PATCH 2/4] selftests/gpio: Move include of lib.mk up Michael Ellerman
@ 2020-11-04 10:08 ` Michael Ellerman
2020-11-04 10:08 ` [PATCH 4/4] selftests/gpio: Add to CLEAN rule rather than overriding Michael Ellerman
2 siblings, 0 replies; 4+ messages in thread
From: Michael Ellerman @ 2020-11-04 10:08 UTC (permalink / raw
To: linux-kselftest, skhan; +Cc: linux-kernel, linux-gpio
Currently the gpio selftests fail to build if the source tree is read
only:
make -j 160 -C tools/testing/selftests TARGETS=gpio
make[1]: Entering directory '/linux/tools/testing/selftests/gpio'
make OUTPUT=/linux/tools/gpio/ -C /linux/tools/gpio
make[2]: Entering directory '/linux/tools/gpio'
mkdir -p /linux/tools/gpio/include/linux 2>&1 || true
ln -sf /linux/tools/gpio/../../include/uapi/linux/gpio.h /linux/tools/gpio/include/linux/gpio.h
ln: failed to create symbolic link '/linux/tools/gpio/include/linux/gpio.h': Read-only file system
This happens because we ask make to build ../../../gpio (tools/gpio)
without pointing OUTPUT away from the source directory.
To fix it we create a subdirectory of the existing OUTPUT directory,
called tools-gpio, and tell tools/gpio to build in there.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
tools/testing/selftests/gpio/Makefile | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
index 615c8a953ade..acf4088a9891 100644
--- a/tools/testing/selftests/gpio/Makefile
+++ b/tools/testing/selftests/gpio/Makefile
@@ -17,14 +17,18 @@ KSFT_KHDR_INSTALL := 1
include ../lib.mk
GPIODIR := $(realpath ../../../gpio)
-GPIOOBJ := gpio-utils.o
+GPIOOUT := $(OUTPUT)/tools-gpio/
+GPIOOBJ := $(GPIOOUT)/gpio-utils.o
override define CLEAN
$(RM) $(TEST_GEN_PROGS_EXTENDED)
- $(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
+ $(RM) -rf $(GPIOOUT)
endef
-$(TEST_GEN_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
+$(TEST_GEN_PROGS_EXTENDED): $(GPIOOBJ)
-$(GPIODIR)/$(GPIOOBJ):
- $(MAKE) OUTPUT=$(GPIODIR)/ -C $(GPIODIR)
+$(GPIOOUT):
+ mkdir -p $@
+
+$(GPIOOBJ): $(GPIOOUT)
+ $(MAKE) OUTPUT=$(GPIOOUT) -C $(GPIODIR)
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 4/4] selftests/gpio: Add to CLEAN rule rather than overriding
2020-11-04 10:08 [PATCH 1/4] selftests/gpio: Use TEST_GEN_PROGS_EXTENDED Michael Ellerman
2020-11-04 10:08 ` [PATCH 2/4] selftests/gpio: Move include of lib.mk up Michael Ellerman
2020-11-04 10:08 ` [PATCH 3/4] selftests/gpio: Fix build when source tree is read only Michael Ellerman
@ 2020-11-04 10:08 ` Michael Ellerman
2 siblings, 0 replies; 4+ messages in thread
From: Michael Ellerman @ 2020-11-04 10:08 UTC (permalink / raw
To: linux-kselftest, skhan; +Cc: linux-kernel, linux-gpio
Rather than overriding the CLEAN rule we can just append to it.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
tools/testing/selftests/gpio/Makefile | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
index acf4088a9891..41582fe485ee 100644
--- a/tools/testing/selftests/gpio/Makefile
+++ b/tools/testing/selftests/gpio/Makefile
@@ -20,10 +20,7 @@ GPIODIR := $(realpath ../../../gpio)
GPIOOUT := $(OUTPUT)/tools-gpio/
GPIOOBJ := $(GPIOOUT)/gpio-utils.o
-override define CLEAN
- $(RM) $(TEST_GEN_PROGS_EXTENDED)
- $(RM) -rf $(GPIOOUT)
-endef
+CLEAN += ; $(RM) -rf $(GPIOOUT)
$(TEST_GEN_PROGS_EXTENDED): $(GPIOOBJ)
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-11-04 10:10 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-04 10:08 [PATCH 1/4] selftests/gpio: Use TEST_GEN_PROGS_EXTENDED Michael Ellerman
2020-11-04 10:08 ` [PATCH 2/4] selftests/gpio: Move include of lib.mk up Michael Ellerman
2020-11-04 10:08 ` [PATCH 3/4] selftests/gpio: Fix build when source tree is read only Michael Ellerman
2020-11-04 10:08 ` [PATCH 4/4] selftests/gpio: Add to CLEAN rule rather than overriding Michael Ellerman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.