summaryrefslogtreecommitdiffstats
path: root/BaseTools
diff options
context:
space:
mode:
authorChema Gonzalez <chemag@fb.com>2017-12-27 16:23:56 -0800
committerLiming Gao <liming.gao@intel.com>2018-01-24 11:47:32 +0800
commit9d5aab05540fd7de26894b05544f1efc424ff595 (patch)
tree2a9a5e129af081e1bf84b3d225f00276dbd9bc11 /BaseTools
parent42e8bc7d16aa2ef8d65a19b327d33c64cae54a9c (diff)
downloadedk2-9d5aab05540fd7de26894b05544f1efc424ff595.tar.gz
edk2-9d5aab05540fd7de26894b05544f1efc424ff595.tar.bz2
edk2-9d5aab05540fd7de26894b05544f1efc424ff595.zip
BaseTools: Barf on unknown HOST_ARCH in C Makefile
I was getting `HOST_ARCH` set using the linux arch name ("x86_64"), which is different from the MS one ("X64"). It is not clear anyway we can proceed without valid build variables (`ARCH_INCLUDE`, `BIN_PATH`, `LIB_PATH`, `SYS_BIN_PATH`, and `SYS_LIB_PATH`). Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chema Gonzalez <chemag@gmail.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to 'BaseTools')
-rw-r--r--BaseTools/Source/C/Makefiles/header.makefile12
-rw-r--r--BaseTools/Source/C/Makefiles/ms.common6
2 files changed, 10 insertions, 8 deletions
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
index 27aa28b2fa..e034da258c 100644
--- a/BaseTools/Source/C/Makefiles/header.makefile
+++ b/BaseTools/Source/C/Makefiles/header.makefile
@@ -29,18 +29,18 @@ BUILD_LD ?= ld
LINKER ?= $(BUILD_CC)
ifeq ($(HOST_ARCH), IA32)
ARCH_INCLUDE = -I $(MAKEROOT)/Include/Ia32/
-endif
-ifeq ($(HOST_ARCH), X64)
+else ifeq ($(HOST_ARCH), X64)
ARCH_INCLUDE = -I $(MAKEROOT)/Include/X64/
-endif
-ifeq ($(HOST_ARCH), ARM)
+else ifeq ($(HOST_ARCH), ARM)
ARCH_INCLUDE = -I $(MAKEROOT)/Include/Arm/
-endif
-ifeq ($(HOST_ARCH), AARCH64)
+else ifeq ($(HOST_ARCH), AARCH64)
ARCH_INCLUDE = -I $(MAKEROOT)/Include/AArch64/
+
+else
+$(error Bad HOST_ARCH)
endif
INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE)
diff --git a/BaseTools/Source/C/Makefiles/ms.common b/BaseTools/Source/C/Makefiles/ms.common
index a6bfea5036..d23308c4bb 100644
--- a/BaseTools/Source/C/Makefiles/ms.common
+++ b/BaseTools/Source/C/Makefiles/ms.common
@@ -42,14 +42,16 @@ BIN_PATH = $(BASE_TOOLS_PATH)\Bin\Win32
LIB_PATH = $(BASE_TOOLS_PATH)\Lib\Win32
SYS_BIN_PATH = $(EDK_TOOLS_PATH)\Bin\Win32
SYS_LIB_PATH = $(EDK_TOOLS_PATH)\Lib\Win32
-!ENDIF
-!IF "$(HOST_ARCH)"=="X64"
+!ELSEIF "$(HOST_ARCH)"=="X64"
ARCH_INCLUDE = $(SOURCE_PATH)\Include\X64
BIN_PATH = $(BASE_TOOLS_PATH)\Bin\Win64
LIB_PATH = $(BASE_TOOLS_PATH)\Lib\Win64
SYS_BIN_PATH = $(EDK_TOOLS_PATH)\Bin\Win64
SYS_LIB_PATH = $(EDK_TOOLS_PATH)\Lib\Win64
+
+!ELSE
+!ERROR "Bad HOST_ARCH"
!ENDIF
CC = cl.exe