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@ellerman.id.au>
Tested by: Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
$(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