aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorThomas Heijligen <thomas.heijligen@secunet.de>2021-10-12 13:30:06 +0200
committerNico Huber <nico.h@gmx.de>2021-10-15 14:34:55 +0000
commit8da9a9acdf5adadd39f1d5e03edd2e326823ef62 (patch)
tree8246095203d3fdd9e2c33deb0ea4aafa80101d1c /Makefile
parent8c768c2191c078d30a8053b783226bf662e651ea (diff)
downloadflashrom-8da9a9acdf5adadd39f1d5e03edd2e326823ef62.tar.gz
flashrom-8da9a9acdf5adadd39f1d5e03edd2e326823ef62.tar.bz2
flashrom-8da9a9acdf5adadd39f1d5e03edd2e326823ef62.zip
Makefile: move determination tests for target systems to one place
Change-Id: Ia1b3f0257aaeebb355700b65c51a2ba70b80d5ae Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de> Reviewed-on: https://review.coreboot.org/c/flashrom/+/58248 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile26
1 files changed, 9 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index bc0047f8..a94f9f64 100644
--- a/Makefile
+++ b/Makefile
@@ -158,12 +158,17 @@ ifeq ($(findstring MINGW, $(HOST_OS)), MINGW)
CC = gcc
endif
-# Determine the destination OS.
-# IMPORTANT: The following line must be placed before TARGET_OS is ever used
-# (of course), but should come after any lines setting CC because the line
-# below uses CC itself.
+# Determine the destination OS, architecture and endian
+# IMPORTANT: The following lines must be placed before TARGET_OS, ARCH or ENDIAN
+# is ever used (of course), but should come after any lines setting CC because
+# the lines below use CC itself.
override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null \
| tail -1 | cut -f 2 -d'"'))
+override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null \
+ | tail -1 | cut -f 2 -d'"'))
+override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null \
+ | tail -1))
+
ifeq ($(TARGET_OS), $(filter $(TARGET_OS), FreeBSD OpenBSD DragonFlyBSD))
override CPPFLAGS += -I/usr/local/include
@@ -242,19 +247,6 @@ ifeq ($(TARGET_OS), Linux)
CONFIG_LINUX_I2C_HELPER = yes
endif
-###############################################################################
-# General architecture-specific settings.
-# Like above for the OS, below we verify user-supplied options depending on the target architecture.
-
-# Determine the destination processor architecture.
-# IMPORTANT: The following line must be placed before ARCH is ever used
-# (of course), but should come after any lines setting CC because the line
-# below uses CC itself.
-override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null \
- | tail -1 | cut -f 2 -d'"'))
-override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null \
- | tail -1))
-
# Disable the internal programmer on unsupported architectures (everything but x86 and mipsel)
ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN))
$(call mark_unsupported,CONFIG_INTERNAL)