From a75a2edc05a006c10caa24ccbee12c2b3ddaee66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikl=C3=B3s=20M=C3=A1rton?= Date: Tue, 30 Jan 2018 20:25:00 +0100 Subject: Fix mingw detection on Windows 7 (NT-6.1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hopefully also for other non-XP Windows build environments. Change-Id: I7f856dc4847c4ca9197b1935b7a9b9071b46c70a Signed-off-by: Miklós Márton Reviewed-on: https://review.coreboot.org/23865 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- Makefile | 3 ++- util/ich_descriptors_tool/Makefile | 17 ++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 943d88d7..746d8d6e 100644 --- a/Makefile +++ b/Makefile @@ -93,10 +93,11 @@ debug_shell = $(shell export LC_ALL=C ; { echo 'exec: export LC_ALL=C ; { $(1) ; # HOST_OS is only used to work around local toolchain issues. HOST_OS ?= $(shell uname) -ifeq ($(HOST_OS), MINGW32_NT-5.1) +ifeq ($(findstring MINGW, $(HOST_OS)), MINGW) # Explicitly set CC = gcc on MinGW, otherwise: "cc: command not found". CC = gcc endif + ifneq ($(HOST_OS), SunOS) STRIP_ARGS = -s endif diff --git a/util/ich_descriptors_tool/Makefile b/util/ich_descriptors_tool/Makefile index d1b5eae9..c32e30be 100644 --- a/util/ich_descriptors_tool/Makefile +++ b/util/ich_descriptors_tool/Makefile @@ -22,6 +22,16 @@ CC ?= gcc # completely ignored by gnumake. CFLAGS ?= -Os -Wall -Wshadow +HOST_OS ?= $(shell uname) +ifeq ($(findstring MINGW, $(HOST_OS)), MINGW) +# Explicitly set CC = gcc on MinGW, otherwise: "cc: command not found". +CC = gcc +EXEC_SUFFIX := .exe +# Some functions provided by Microsoft do not work as described in C99 specifications. This macro fixes that +# for MinGW. See http://sourceforge.net/p/mingw-w64/wiki2/printf%20and%20scanf%20family/ */ +FLASHROM_CFLAGS += -D__USE_MINGW_ANSI_STDIO=1 +endif + override TARGET_OS := $(shell $(CC) $(CPPFLAGS) -E $(SHAREDSRCDIR)/os.h | grep -v '^\#' | grep '"' | \ cut -f 2 -d'"') @@ -31,13 +41,6 @@ EXEC_SUFFIX := .exe CFLAGS += -Wno-format endif -ifeq ($(TARGET_OS), MinGW) -EXEC_SUFFIX := .exe -# Some functions provided by Microsoft do not work as described in C99 specifications. This macro fixes that -# for MinGW. See http://sourceforge.net/p/mingw-w64/wiki2/printf%20and%20scanf%20family/ */ -FLASHROM_CFLAGS += -D__USE_MINGW_ANSI_STDIO=1 -endif - ifeq ($(WARNERROR), yes) CFLAGS += -Werror endif -- cgit v1.2.3