From: Denis Mukhin <[email protected]> 

There can be multiple test harnesses per one test target. Fix that by
iterating over all prerequisites in emit-harness-nested-rule().

Signed-off-by: Denis Mukhin <[email protected]>
---
 tools/tests/domid/Makefile | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/tools/tests/domid/Makefile b/tools/tests/domid/Makefile
index 753129029ed9..1a2129d20655 100644
--- a/tools/tests/domid/Makefile
+++ b/tools/tests/domid/Makefile
@@ -14,16 +14,18 @@ $(shell sed -n \
     's/^[ \t]*# *include[ \t]*[<"]\([^">]*\)[">].*/\1/p' $(1) 2>/dev/null)
 endef
 
-# NB: $1 cannot be a list
+# $1 target
+# $2 list of test harnesses
 define emit-harness-nested-rule
-$(1): $(CURDIR)/harness.h
-       mkdir -p $$(@D);
-       ln -sf $$< $$@;
+$(1): $(2)
+       mkdir -p $$(@D); \
+       for i in $$<; do ln -sf $$$$i $$@; done
 
 endef
 
 define emit-harness-rules
-$(foreach x,$(2),$(call emit-harness-nested-rule,$(CURDIR)/generated/$(x)))
+$(foreach x,$(2),$(call \
+    emit-harness-nested-rule,$(CURDIR)/generated/$(x),$(CURDIR)/harness.h))
 $(1:.c=.o): $(addprefix $(CURDIR)/generated/,$(2))
 endef
 
-- 
2.52.0


Reply via email to