Makefile: enable internal programmer for x86 and all linux platforms

The internal programmer has platform independent code for x86 and linux
based code for mipsel. Furthermore the internal programmer can call the
linux mtd programmer when available.

Enable the internal programmer on x86 or linux.

flashrom-stable: internal always depends on raw mem access

Change-Id: Ia607ea60c3d7d15fe231fa412595992dadc535ad
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/61300
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72295
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/Makefile b/Makefile
index 03f8cc8..c0e6579 100644
--- a/Makefile
+++ b/Makefile
@@ -100,7 +100,7 @@
 
 DEPENDS_ON_BITBANG_SPI := \
 	CONFIG_DEVELOPERBOX_SPI \
-	CONFIG_INTERNAL \
+	CONFIG_INTERNAL_X86 \
 	CONFIG_NICINTEL_SPI \
 	CONFIG_OGP_SPI \
 	CONFIG_PONY_SPI \
@@ -120,12 +120,12 @@
 	CONFIG_SATASII \
 
 DEPENDS_ON_X86_MSR := \
-	CONFIG_INTERNAL \
+	CONFIG_INTERNAL_X86 \
 
 DEPENDS_ON_X86_PORT_IO := \
 	CONFIG_ATAHPT \
 	CONFIG_ATAPROMISE \
-	CONFIG_INTERNAL \
+	CONFIG_INTERNAL_X86 \
 	CONFIG_NIC3COM \
 	CONFIG_NICNATSEMI \
 	CONFIG_NICREALTEK \
@@ -319,8 +319,8 @@
 $(call mark_unsupported,$(DEPENDS_ON_X86_PORT_IO))
 endif
 
-# Disable the internal programmer on unsupported architectures (everything but x86 and mipsel)
-ifneq ($(ARCH)-little, $(filter $(ARCH), x86 mips)-$(ENDIAN))
+# Disable the internal programmer on unsupported architectures or systems
+ifeq ($(or $(filter $(ARCH), x86), $(filter $(TARGET_OS), Linux)), )
 $(call mark_unsupported,CONFIG_INTERNAL)
 endif
 
@@ -422,6 +422,7 @@
 
 # Always enable internal/onboard support for now.
 CONFIG_INTERNAL ?= yes
+CONFIG_INTERNAL_X86 ?= yes
 
 # Always enable serprog for now.
 CONFIG_SERPROG ?= yes
@@ -581,18 +582,25 @@
 
 FEATURE_FLAGS += -D'CONFIG_DEFAULT_PROGRAMMER_ARGS="$(CONFIG_DEFAULT_PROGRAMMER_ARGS)"'
 
+################################################################################
+
+ifeq ($(ARCH), x86)
+ifeq ($(CONFIG_INTERNAL) $(CONFIG_INTERNAL_X86), yes yes)
+FEATURE_FLAGS += -D'CONFIG_INTERNAL=1'
+PROGRAMMER_OBJS += processor_enable.o chipset_enable.o board_enable.o cbtable.o \
+	internal.o it87spi.o sb600spi.o amd_imc.o wbsio_spi.o mcp6x_spi.o \
+	ichspi.o dmi.o
+endif
+else
 ifeq ($(CONFIG_INTERNAL), yes)
 FEATURE_FLAGS += -D'CONFIG_INTERNAL=1'
 PROGRAMMER_OBJS += processor_enable.o chipset_enable.o board_enable.o cbtable.o internal.o
-ifeq ($(ARCH), x86)
-PROGRAMMER_OBJS += it87spi.o sb600spi.o amd_imc.o wbsio_spi.o mcp6x_spi.o
-PROGRAMMER_OBJS += ichspi.o dmi.o
+endif
+endif
+
 ifeq ($(CONFIG_INTERNAL_DMI), yes)
 FEATURE_FLAGS += -D'CONFIG_INTERNAL_DMI=1'
 endif
-else
-endif
-endif
 
 ifeq ($(CONFIG_SERPROG), yes)
 FEATURE_FLAGS += -D'CONFIG_SERPROG=1'