Prevent multiple inclusions of object files and rules

This removes 54 make warnings from the build

Change-Id: I94ac9875526febe2f95334c1c3971641c1d27f8f
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/338
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/Makefile b/Makefile
index c543897..f2277d1 100644
--- a/Makefile
+++ b/Makefile
@@ -204,6 +204,9 @@
 subdirs:=$(TOPLEVEL)
 $(eval $(call evaluate_subdirs))
 
+# Eliminate duplicate mentions of source files in a class
+$(foreach class,$(classes),$(eval $(class)-srcs:=$(sort $($(class)-srcs))))
+
 src-to-obj=$(addsuffix .$(1).o, $(basename $(patsubst src/%, $(obj)/%, $($(1)-srcs))))
 $(foreach class,$(classes),$(eval $(class)-objs:=$(call src-to-obj,$(class))))