All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert+renesas@glider.be>
To: Shuah Khan <shuah@kernel.org>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Marek <michal.lkml@markovi.net>
Cc: Jonathan Corbet <corbet@lwn.net>,
	Bamvor Jian Zhang <bamv2005@gmail.com>,
	Kees Cook <keescook@chromium.org>,
	linux-kselftest@vger.kernel.org, linux-kbuild@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Geert Uytterhoeven <geert+renesas@glider.be>
Subject: [PATCH/RFC 12/12] selftests: gpio: Fix building tools/gpio from kselftests
Date: Mon, 14 Jan 2019 14:51:44 +0100	[thread overview]
Message-ID: <20190114135144.26096-13-geert+renesas@glider.be> (raw)
In-Reply-To: <20190114135144.26096-1-geert+renesas@glider.be>

When running "make kselftests":

    make[3]: Entering directory 'tools/gpio'
    Makefile:24: tools/build/Makefile.include: No such file or directory
    make[3]: *** No rule to make target 'tools/build/Makefile.include'.  Stop.

When building kselftest in a separate output directory, the gpio tools
are still built in the source directory.

Fix this by passing the correct source and build paths to the make
subprocess.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Marked RFC as there are still issues with this approach:

  - "make kselftest O=" needs:

	all: $(TEST_PROGS_EXTENDED)

    "make kselftest" needs that line to be replaced by:

	TEST_GEN_PROGS_EXTENDED := $(TEST_PROGS_EXTENDED)

    Having both lines doesn't help.

  - gpio-mockup-chardev is no longer built.
---
 tools/testing/selftests/gpio/Makefile | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
index 0bb80619db580af1..1eb4304fcfcbad67 100644
--- a/tools/testing/selftests/gpio/Makefile
+++ b/tools/testing/selftests/gpio/Makefile
@@ -13,20 +13,22 @@ TEST_PROGS := gpio-mockup.sh
 TEST_FILES := gpio-mockup-sysfs.sh
 TEST_PROGS_EXTENDED := gpio-mockup-chardev
 
-GPIODIR := $(realpath ../../../gpio)
+GPIOSRCDIR := $(abspath $(CURDIR)/../../../gpio)
+GPIOOBJDIR := $(abspath $(OUTPUT)/../../../gpio)
 GPIOOBJ := gpio-utils.o
 
 all: $(TEST_PROGS_EXTENDED)
 
 override define CLEAN
 	$(RM) $(TEST_PROGS_EXTENDED)
-	$(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
+	$(MAKE) -C $(GPIOSRCDIR) OUTPUT=$(GPIOOBJDIR)/ clean
 endef
 
 KSFT_KHDR_INSTALL := 1
 include ../lib.mk
 
-$(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
+$(TEST_PROGS_EXTENDED): $(GPIOOBJDIR)/$(GPIOOBJ)
 
-$(GPIODIR)/$(GPIOOBJ):
-	$(MAKE) OUTPUT=$(GPIODIR)/ -C $(GPIODIR)
+$(GPIOOBJDIR)/$(GPIOOBJ):
+	mkdir -p $(GPIOOBJDIR)
+	$(MAKE) OUTPUT=$(GPIOOBJDIR)/ -C $(GPIOSRCDIR)
-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: geert+renesas at glider.be (Geert Uytterhoeven)
Subject: [PATCH/RFC 12/12] selftests: gpio: Fix building tools/gpio from kselftests
Date: Mon, 14 Jan 2019 14:51:44 +0100	[thread overview]
Message-ID: <20190114135144.26096-13-geert+renesas@glider.be> (raw)
In-Reply-To: <20190114135144.26096-1-geert+renesas@glider.be>

When running "make kselftests":

    make[3]: Entering directory 'tools/gpio'
    Makefile:24: tools/build/Makefile.include: No such file or directory
    make[3]: *** No rule to make target 'tools/build/Makefile.include'.  Stop.

When building kselftest in a separate output directory, the gpio tools
are still built in the source directory.

Fix this by passing the correct source and build paths to the make
subprocess.

Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
---
Marked RFC as there are still issues with this approach:

  - "make kselftest O=" needs:

	all: $(TEST_PROGS_EXTENDED)

    "make kselftest" needs that line to be replaced by:

	TEST_GEN_PROGS_EXTENDED := $(TEST_PROGS_EXTENDED)

    Having both lines doesn't help.

  - gpio-mockup-chardev is no longer built.
---
 tools/testing/selftests/gpio/Makefile | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
index 0bb80619db580af1..1eb4304fcfcbad67 100644
--- a/tools/testing/selftests/gpio/Makefile
+++ b/tools/testing/selftests/gpio/Makefile
@@ -13,20 +13,22 @@ TEST_PROGS := gpio-mockup.sh
 TEST_FILES := gpio-mockup-sysfs.sh
 TEST_PROGS_EXTENDED := gpio-mockup-chardev
 
-GPIODIR := $(realpath ../../../gpio)
+GPIOSRCDIR := $(abspath $(CURDIR)/../../../gpio)
+GPIOOBJDIR := $(abspath $(OUTPUT)/../../../gpio)
 GPIOOBJ := gpio-utils.o
 
 all: $(TEST_PROGS_EXTENDED)
 
 override define CLEAN
 	$(RM) $(TEST_PROGS_EXTENDED)
-	$(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
+	$(MAKE) -C $(GPIOSRCDIR) OUTPUT=$(GPIOOBJDIR)/ clean
 endef
 
 KSFT_KHDR_INSTALL := 1
 include ../lib.mk
 
-$(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
+$(TEST_PROGS_EXTENDED): $(GPIOOBJDIR)/$(GPIOOBJ)
 
-$(GPIODIR)/$(GPIOOBJ):
-	$(MAKE) OUTPUT=$(GPIODIR)/ -C $(GPIODIR)
+$(GPIOOBJDIR)/$(GPIOOBJ):
+	mkdir -p $(GPIOOBJDIR)
+	$(MAKE) OUTPUT=$(GPIOOBJDIR)/ -C $(GPIOSRCDIR)
-- 
2.17.1

WARNING: multiple messages have this Message-ID (diff)
From: geert+renesas@glider.be (Geert Uytterhoeven)
Subject: [PATCH/RFC 12/12] selftests: gpio: Fix building tools/gpio from kselftests
Date: Mon, 14 Jan 2019 14:51:44 +0100	[thread overview]
Message-ID: <20190114135144.26096-13-geert+renesas@glider.be> (raw)
Message-ID: <20190114135144.kq5f8vZpCJgfMYBLLMc7bizUcvhUPdaY1FFayDM-KfI@z> (raw)
In-Reply-To: <20190114135144.26096-1-geert+renesas@glider.be>

When running "make kselftests":

    make[3]: Entering directory 'tools/gpio'
    Makefile:24: tools/build/Makefile.include: No such file or directory
    make[3]: *** No rule to make target 'tools/build/Makefile.include'.  Stop.

When building kselftest in a separate output directory, the gpio tools
are still built in the source directory.

Fix this by passing the correct source and build paths to the make
subprocess.

Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
---
Marked RFC as there are still issues with this approach:

  - "make kselftest O=" needs:

	all: $(TEST_PROGS_EXTENDED)

    "make kselftest" needs that line to be replaced by:

	TEST_GEN_PROGS_EXTENDED := $(TEST_PROGS_EXTENDED)

    Having both lines doesn't help.

  - gpio-mockup-chardev is no longer built.
---
 tools/testing/selftests/gpio/Makefile | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
index 0bb80619db580af1..1eb4304fcfcbad67 100644
--- a/tools/testing/selftests/gpio/Makefile
+++ b/tools/testing/selftests/gpio/Makefile
@@ -13,20 +13,22 @@ TEST_PROGS := gpio-mockup.sh
 TEST_FILES := gpio-mockup-sysfs.sh
 TEST_PROGS_EXTENDED := gpio-mockup-chardev
 
-GPIODIR := $(realpath ../../../gpio)
+GPIOSRCDIR := $(abspath $(CURDIR)/../../../gpio)
+GPIOOBJDIR := $(abspath $(OUTPUT)/../../../gpio)
 GPIOOBJ := gpio-utils.o
 
 all: $(TEST_PROGS_EXTENDED)
 
 override define CLEAN
 	$(RM) $(TEST_PROGS_EXTENDED)
-	$(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
+	$(MAKE) -C $(GPIOSRCDIR) OUTPUT=$(GPIOOBJDIR)/ clean
 endef
 
 KSFT_KHDR_INSTALL := 1
 include ../lib.mk
 
-$(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
+$(TEST_PROGS_EXTENDED): $(GPIOOBJDIR)/$(GPIOOBJ)
 
-$(GPIODIR)/$(GPIOOBJ):
-	$(MAKE) OUTPUT=$(GPIODIR)/ -C $(GPIODIR)
+$(GPIOOBJDIR)/$(GPIOOBJ):
+	mkdir -p $(GPIOOBJDIR)
+	$(MAKE) OUTPUT=$(GPIOOBJDIR)/ -C $(GPIOSRCDIR)
-- 
2.17.1

  parent reply	other threads:[~2019-01-14 13:52 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-14 13:51 [PATCH 00/12] selftests: Miscellaneous fixes Geert Uytterhoeven
2019-01-14 13:51 ` Geert Uytterhoeven
2019-01-14 13:51 ` geert+renesas
2019-01-14 13:51 ` [PATCH 01/12] selftests: gpio-mockup-chardev: Check asprintf() for error Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-16 22:03   ` shuah
2019-01-16 22:03     ` shuah
2019-01-16 22:03     ` shuah
2019-01-14 13:51 ` [PATCH 02/12] selftests: Fix output directory with O= Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 13:51 ` [PATCH 03/12] selftests: Fix header install " Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 13:51 ` [PATCH 04/12] selftests: android: ion: Fix ionmap_test dependencies Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 13:51 ` [PATCH 05/12] selftests: seccomp: Fix test dependencies and rules Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 23:16   ` Kees Cook
2019-01-14 23:16     ` Kees Cook
2019-01-14 23:16     ` Kees Cook
2019-01-14 23:16     ` keescook
2019-01-14 13:51 ` [PATCH 06/12] selftests: lib.mk: Add rule to build object file from C source file Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 13:51 ` [PATCH 07/12] selftests: memfd: Fix build with O= Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 13:51 ` [PATCH 08/12] selftests: timestamping: Remove superfluous rules Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 13:51 ` [PATCH 09/12] selftests: sparc64: " Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 13:51 ` [PATCH 10/12] selftests: intel_pstate: Remove unused header dependency rule Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 13:51 ` [PATCH 11/12] selftests: Add kselftest-build target Geert Uytterhoeven
2019-01-14 13:51   ` Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-14 13:51 ` Geert Uytterhoeven [this message]
2019-01-14 13:51   ` [PATCH/RFC 12/12] selftests: gpio: Fix building tools/gpio from kselftests Geert Uytterhoeven
2019-01-14 13:51   ` geert+renesas
2019-01-18  4:14 ` [PATCH 00/12] selftests: Miscellaneous fixes Masahiro Yamada
2019-01-18  4:14   ` Masahiro Yamada
2019-01-18  4:14   ` Masahiro Yamada
2019-01-18  4:14   ` yamada.masahiro
2019-01-18  7:57   ` Geert Uytterhoeven
2019-01-18  7:57     ` Geert Uytterhoeven
2019-01-18  7:57     ` Geert Uytterhoeven
2019-01-18  7:57     ` geert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190114135144.26096-13-geert+renesas@glider.be \
    --to=geert+renesas@glider.be \
    --cc=bamv2005@gmail.com \
    --cc=corbet@lwn.net \
    --cc=keescook@chromium.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=shuah@kernel.org \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.