* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).