All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shuah Khan <shuahkh@osg.samsung.com>
To: yamada.masahiro@socionext.com, mmarek@suse.com, shuah@kernel.org,
	tglx@linutronix.de, mingo@redhat.com, peterz@infradead.org,
	bamvor.zhangjian@linaro.org, emilio.lopez@collabora.co.uk,
	corbet@lwn.net
Cc: Shuah Khan <shuahkh@osg.samsung.com>,
	tytso@mit.edu, ebiederm@xmission.com, Tim.Bird@sony.com,
	gregkh@linuxfoundation.org, linux-kbuild@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org
Subject: [PATCH 08/11] selftests: sync: kselftest and kselftest-clean fail for make O=dir case
Date: Tue, 12 Sep 2017 17:53:01 -0600	[thread overview]
Message-ID: <76d92d77e631edef931a130ca480c102f2bc74c3.1505257614.git.shuahkh@osg.samsung.com> (raw)
In-Reply-To: <cover.1505257614.git.shuahkh@osg.samsung.com>
In-Reply-To: <cover.1505257614.git.shuahkh@osg.samsung.com>

sync test fails to build when object directory is specified to relocate
object files. Fix it to specify the correct path. Fix clean target to
remove objects. Also include simplified logic to use TEST_CUSTOM_PROGS
in build and clean targets instead of hard-coding the test name each
time.

Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
---
 tools/testing/selftests/sync/Makefile | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/sync/Makefile b/tools/testing/selftests/sync/Makefile
index 43db80b71e80..8e04d0afcbd7 100644
--- a/tools/testing/selftests/sync/Makefile
+++ b/tools/testing/selftests/sync/Makefile
@@ -2,14 +2,16 @@ CFLAGS += -O2 -g -std=gnu89 -pthread -Wall -Wextra
 CFLAGS += -I../../../../usr/include/
 LDFLAGS += -pthread
 
-# lib.mk TEST_CUSTOM_PROGS var is for custome tests that need special
+.PHONY: all clean
+
+include ../lib.mk
+
+# lib.mk TEST_CUSTOM_PROGS var is for custom tests that need special
 # build rules. lib.mk will run and install them.
-TEST_CUSTOM_PROGS = sync_test
 
+TEST_CUSTOM_PROGS := $(OUTPUT)/sync_test
 all: $(TEST_CUSTOM_PROGS)
 
-include ../lib.mk
-
 OBJS = sync_test.o sync.o
 
 TESTS += sync_alloc.o
@@ -20,6 +22,16 @@ TESTS += sync_stress_parallelism.o
 TESTS += sync_stress_consumer.o
 TESTS += sync_stress_merge.o
 
-sync_test: $(OBJS) $(TESTS)
+OBJS := $(patsubst %,$(OUTPUT)/%,$(OBJS))
+TESTS := $(patsubst %,$(OUTPUT)/%,$(TESTS))
+
+$(TEST_CUSTOM_PROGS): $(TESTS) $(OBJS)
+	$(CC) -o $(TEST_CUSTOM_PROGS) $(OBJS) $(TESTS) $(CFLAGS) $(LDFLAGS)
+
+$(OBJS): $(OUTPUT)/%.o: %.c
+	$(CC) -c $^ -o $@
+
+$(TESTS): $(OUTPUT)/%.o: %.c
+	$(CC) -c $^ -o $@
 
-EXTRA_CLEAN := sync_test $(OBJS) $(TESTS)
+EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(OBJS) $(TESTS)
-- 
2.11.0

  parent reply	other threads:[~2017-09-12 23:53 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-12 23:52 [PATCH 00/11] Kselftest make O=dir work Shuah Khan
2017-09-12 23:52 ` [PATCH 01/11] Makefile: kselftest and kselftest-clean fail for make O=dir case Shuah Khan
2017-09-18 23:14   ` Shuah Khan
2017-09-20  3:39     ` Masahiro Yamada
2017-09-20 17:30       ` Shuah Khan
2017-09-12 23:52 ` [PATCH 02/11] selftests: lib.mk: " Shuah Khan
2017-09-12 23:52 ` [PATCH 03/11] selftests: Makefile: clear LDFLAGS for make O=dir use-case Shuah Khan
2017-09-12 23:52 ` [PATCH 04/11] selftests: lib.mk: fix test executable status check to use full path Shuah Khan
2017-09-12 23:52 ` [PATCH 05/11] selftests: watchdog: fix to use TEST_GEN_PROGS and remove clean Shuah Khan
2017-09-12 23:52 ` [PATCH 06/11] selftests: lib.mk: add TEST_CUSTOM_PROGS to allow custom test run/install Shuah Khan
2017-09-12 23:53 ` [PATCH 07/11] selftests: sync: use TEST_CUSTOM_PROGS instead of TEST_PROGS Shuah Khan
2017-09-12 23:53 ` Shuah Khan [this message]
2017-09-12 23:53 ` [PATCH 09/11] selftests: lib.mk: copy test scripts and test files for make O=dir run Shuah Khan
2017-09-13 18:14   ` Bird, Timothy
2017-09-13 19:43     ` Shuah Khan
2017-09-12 23:53 ` [PATCH 10/11] selftests: futex: copy sub-dir test scripts " Shuah Khan
2017-09-13 18:15   ` Bird, Timothy
2017-09-23  0:36   ` Darren Hart
2017-09-12 23:53 ` [PATCH 11/11] selftests: mqueue: Use full path to run tests from Makefile Shuah Khan
2017-09-13  0:58 ` [PATCH 00/11] Kselftest make O=dir work Greg KH

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=76d92d77e631edef931a130ca480c102f2bc74c3.1505257614.git.shuahkh@osg.samsung.com \
    --to=shuahkh@osg.samsung.com \
    --cc=Tim.Bird@sony.com \
    --cc=bamvor.zhangjian@linaro.org \
    --cc=corbet@lwn.net \
    --cc=ebiederm@xmission.com \
    --cc=emilio.lopez@collabora.co.uk \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=mmarek@suse.com \
    --cc=peterz@infradead.org \
    --cc=shuah@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tytso@mit.edu \
    --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.