[PATCH 3/5] selftests: Fix the .S and .S -> .o rules

From: Michael Ellerman
Date: Thu Feb 09 2017 - 04:05:50 EST


Both these rules incorrectly use $< (first prerequisite) rather than
$^ (all prerequisites), meaning they don't work if we're using more than
one .S file as input. Switch them to using $^.

They also don't include $(CPPFLAGS) and other variables used in the
default rules, which breaks targets that require those. Fix that by
using the builtin $(COMPILE.S) and $(LINK.S) rules.

Fixes: a8ba798bc8ec ("selftests: enable O and KBUILD_OUTPUT")
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
---
tools/testing/selftests/lib.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 98841c54763a..ce96d80ad64f 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -54,9 +54,9 @@ $(OUTPUT)/%:%.c
$(LINK.c) $^ $(LDLIBS) -o $@

$(OUTPUT)/%.o:%.S
- $(CC) $(ASFLAGS) -c $< -o $@
+ $(COMPILE.S) $^ -o $@

$(OUTPUT)/%:%.S
- $(CC) $(ASFLAGS) $< -o $@
+ $(LINK.S) $^ $(LDLIBS) -o $@

.PHONY: run_tests all clean install emit_tests
--
2.7.4