From cf542aa1ce3caabe5184fde77a39bbd3cca763ef Mon Sep 17 00:00:00 2001 From: Thomas Heijligen Date: Tue, 12 Oct 2021 15:16:46 +0200 Subject: Makefile: move determination test for the architecture to Makefile.d Move the test code for architecture detection in a extra directory to split it from the main flashrom code. Change-Id: I29ce73be9c5cbe259a2471f8eea2f8745b68cdfa Signed-off-by: Thomas Heijligen Reviewed-on: https://review.coreboot.org/c/flashrom/+/58269 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- Makefile | 10 +++------- Makefile.d/arch_test.h | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ archtest.c | 2 -- platform.h | 12 ------------ 4 files changed, 54 insertions(+), 21 deletions(-) create mode 100644 Makefile.d/arch_test.h delete mode 100644 archtest.c diff --git a/Makefile b/Makefile index f8ff0973..1e96e8a9 100644 --- a/Makefile +++ b/Makefile @@ -163,8 +163,7 @@ endif # is ever used (of course), but should come after any lines setting CC because # the lines below use CC itself. override TARGET_OS := $(call c_macro_test, Makefile.d/os_test.h) -override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null \ - | tail -1 | cut -f 2 -d'"')) +override ARCH := $(call c_macro_test, Makefile.d/arch_test.h) override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null \ | tail -1)) @@ -866,11 +865,8 @@ compiler: featuresavailable echo "found." || { echo "not found."; \ rm -f .test.c .test$(EXEC_SUFFIX); exit 1; }; } 2>>$(BUILD_DETAILS_FILE); echo $? >&3 ; } | tee -a $(BUILD_DETAILS_FILE) >&4; } 3>&1;} | { read rc ; exit ${rc}; } } 4>&1 @rm -f .test.c .test$(EXEC_SUFFIX) - @printf "Target arch is " - @# FreeBSD wc will output extraneous whitespace. - @echo $(ARCH)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \ - ( echo "unknown (\"$(ARCH)\"). Aborting."; exit 1) - @printf "%s\n" '$(ARCH)' + @echo Target arch is $(ARCH) + @if [ $(ARCH) = unknown ]; then echo Aborting.; exit 1; fi @echo Target OS is $(TARGET_OS) @if [ $(TARGET_OS) = unknown ]; then echo Aborting.; exit 1; fi ifeq ($(TARGET_OS), libpayload) diff --git a/Makefile.d/arch_test.h b/Makefile.d/arch_test.h new file mode 100644 index 00000000..077aabac --- /dev/null +++ b/Makefile.d/arch_test.h @@ -0,0 +1,51 @@ +/* + * This file is part of the flashrom project. + * + * Copyright (C) 2011 Carl-Daniel Hailfinger + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/* + * This file determinate the target architecture. It should only be used + * by the Makefile + */ + +#if defined (__i386__) || defined (__x86_64__) || defined(__amd64__) + #define __FLASHROM_ARCH__ "x86" +#elif defined (__mips) || defined (__mips__) || defined (__MIPS__) || defined (mips) + #define __FLASHROM_ARCH__ "mips" +#elif defined(__powerpc) || defined(__powerpc__) || defined(__powerpc64__) || defined(__POWERPC__) || \ + defined(__ppc__) || defined(__ppc64__) || defined(_M_PPC) || defined(_ARCH_PPC) || \ + defined(_ARCH_PPC64) || defined(__ppc) + #define __FLASHROM_ARCH__ "ppc" +#elif defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_ARM) || defined(_M_ARM) || defined(__arm) || \ + defined(__aarch64__) + #define __FLASHROM_ARCH__ "arm" +#elif defined (__sparc__) || defined (__sparc) + #define __FLASHROM_ARCH__ "sparc" +#elif defined (__alpha__) + #define __FLASHROM_ARCH__ "alpha" +#elif defined (__hppa__) || defined (__hppa) + #define __FLASHROM_ARCH__ "hppa" +#elif defined (__m68k__) + #define __FLASHROM_ARCH__ "m68k" +#elif defined (__riscv) + #define __FLASHROM_ARCH__ "riscv" +#elif defined (__sh__) + #define __FLASHROM_ARCH__ "sh" +#elif defined(__s390__) || defined(__s390x__) || defined(__zarch__) + #define __FLASHROM_ARCH__ "s390" +#elif defined(__arc__) + #define __FLASHROM_ARCH__ "arc" +#else + #define __FLASHROM_ARCH__ "unknown" +#endif +__FLASHROM_ARCH__ diff --git a/archtest.c b/archtest.c deleted file mode 100644 index 791f1a3a..00000000 --- a/archtest.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "platform.h" -__FLASHROM_ARCH__ diff --git a/platform.h b/platform.h index 04f1ab1b..cd8e54b0 100644 --- a/platform.h +++ b/platform.h @@ -39,43 +39,31 @@ // Likewise for target architectures #if defined (__i386__) || defined (__x86_64__) || defined(__amd64__) - #define __FLASHROM_ARCH__ "x86" #define IS_X86 1 #elif defined (__mips) || defined (__mips__) || defined (__MIPS__) || defined (mips) - #define __FLASHROM_ARCH__ "mips" #define IS_MIPS 1 #elif defined(__powerpc) || defined(__powerpc__) || defined(__powerpc64__) || defined(__POWERPC__) || \ defined(__ppc__) || defined(__ppc64__) || defined(_M_PPC) || defined(_ARCH_PPC) || \ defined(_ARCH_PPC64) || defined(__ppc) - #define __FLASHROM_ARCH__ "ppc" #define IS_PPC 1 #elif defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_ARM) || defined(_M_ARM) || defined(__arm) || \ defined(__aarch64__) - #define __FLASHROM_ARCH__ "arm" #define IS_ARM 1 #elif defined (__sparc__) || defined (__sparc) - #define __FLASHROM_ARCH__ "sparc" #define IS_SPARC 1 #elif defined (__alpha__) - #define __FLASHROM_ARCH__ "alpha" #define IS_ALPHA 1 #elif defined (__hppa__) || defined (__hppa) - #define __FLASHROM_ARCH__ "hppa" #define IS_HPPA 1 #elif defined (__m68k__) - #define __FLASHROM_ARCH__ "m68k" #define IS_M68K 1 #elif defined (__riscv) - #define __FLASHROM_ARCH__ "riscv" #define IS_RISCV 1 #elif defined (__sh__) - #define __FLASHROM_ARCH__ "sh" #define IS_SH 1 #elif defined(__s390__) || defined(__s390x__) || defined(__zarch__) - #define __FLASHROM_ARCH__ "s390" #define IS_S390 1 #elif defined(__arc__) - #define __FLASHROM_ARCH__ "arc" #define IS_ARC 1 #endif -- cgit v1.2.3