Fix linking microcode with more than one microcode file

When assembling microcode , the rule to link individual object files into
one larger file only passed the first dependency to the linker. As a results
only microcode from one object file would actually get linked. This is fixed
 by replacing $^ with $+ inside the make rule.

Change-Id: I65c0565f2e03777af23e530c08d1241804ca19b1
Signed-off-by: Alexandru Gagniuc <>
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <>
diff --git a/src/cpu/ b/src/cpu/
index 34ae53e..7cd9d5f 100644
--- a/src/cpu/
+++ b/src/cpu/
@@ -41,7 +41,7 @@
 # final microcode file.
 $(obj)/cpu_microcode_blob.o: $$(cpu_microcode-objs)
 	@printf "    LD         $(subst $(obj)/,,$(@))\n"
-	$(LD) -static --entry=0 $< -o $@
+	$(LD) -static --entry=0 $+ -o $@
 # We have a lot of useless data in the large blob, and we are only interested in
 # the data section, so we only copy that part to the final microcode file