From 8da9a9acdf5adadd39f1d5e03edd2e326823ef62 Mon Sep 17 00:00:00 2001 From: Thomas Heijligen Date: Tue, 12 Oct 2021 13:30:06 +0200 Subject: Makefile: move determination tests for target systems to one place Change-Id: Ia1b3f0257aaeebb355700b65c51a2ba70b80d5ae Signed-off-by: Thomas Heijligen Reviewed-on: https://review.coreboot.org/c/flashrom/+/58248 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- Makefile | 26 +++++++++----------------- 1 file 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) -- cgit v1.2.3