x86/smm: Move SMM configuration out of generic Makefile

It's x86 specific.

This is inspired by the commit listed below, but rewritten to match
upstream, and split in smaller pieces to keep intent clear.

Change-Id: Iacb91b47c89041435dd27c2c9ad34a231adf21d2
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Based-On-Change-Id: I50af7dacf616e0f8ff4c43f4acc679089ad7022b
Based-On-Signed-off-by: Julius Werner <jwerner@chromium.org>
Based-On-Reviewed-on: https://chromium-review.googlesource.com/219170
Reviewed-on: http://review.coreboot.org/9115
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@google.com>
diff --git a/Makefile.inc b/Makefile.inc
index 59ddf7e..e80c2668 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -134,21 +134,10 @@
 
 bootblock-generic-ccopts += -D__BOOT_BLOCK__ -D__PRE_RAM__
 
-smmstub-generic-ccopts += -D__SMM__
-smm-generic-ccopts += -D__SMM__
-
-# SMM TSEG base is dynamic
-ifneq ($(CONFIG_SMM_MODULES),y)
-ifeq ($(CONFIG_SMM_TSEG),y)
-smm-c-ccopts += -fpic
-endif
-endif
-
 ramstage-c-deps:=$$(OPTION_TABLE_H)
 romstage-c-deps:=$$(OPTION_TABLE_H)
 verstage-c-deps:=$$(OPTION_TABLE_H)
 bootblock-c-deps:=$$(OPTION_TABLE_H)
-smm-c-deps:=$$(OPTION_TABLE_H)
 
 #######################################################################
 # Add handler to compile ACPI's ASL
diff --git a/src/cpu/x86/smm/Makefile.inc b/src/cpu/x86/smm/Makefile.inc
index 971eacf..b62288a 100644
--- a/src/cpu/x86/smm/Makefile.inc
+++ b/src/cpu/x86/smm/Makefile.inc
@@ -27,6 +27,10 @@
 $(eval $(call create_class_compiler,smmstub,x86_64))
 endif
 
+smmstub-generic-ccopts += -D__SMM__
+smm-generic-ccopts += -D__SMM__
+smm-c-deps:=$$(OPTION_TABLE_H)
+
 $(obj)/cpu/x86/smm/smm.o: $$(smm-objs) $(COMPILER_RT_smm)
 	$(LD_smm) -nostdlib -r -o $@ $(COMPILER_RT_FLAGS_smm) --start-group $(smm-objs) $(COMPILER_RT_smm) --end-group
 
@@ -101,6 +105,7 @@
 # Use TSEG specific entry point and linker script
 ifeq ($(CONFIG_SMM_TSEG),y)
 smm-y += smmhandler_tseg.S
+smm-c-ccopts += -fpic
 SMM_LDFLAGS  := -pie
 SMM_LDSCRIPT := smm_tseg.ld
 else