## @file
# Makefile
#
# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#

!IFNDEF EDK_TOOLS_PATH
!ERROR "Please set your EDK_TOOLS_PATH!"
!ENDIF

!IFNDEF BASE_TOOLS_PATH
!ERROR "BASE_TOOLS_PATH is not set! Please run build_tools.bat at first!"
!ENDIF

!IFNDEF HOST_ARCH
HOST_ARCH = IA32
!ENDIF

!IFNDEF MAKEROOT
MAKEROOT = $(SOURCE_PATH)
!ENDIF

!IFNDEF EDK2_PATH
EDK2_PATH = $(MAKEROOT)\..\..\..
!ENDIF

MAKE        = nmake -nologo

# DOS del command doesn't support ":\\" in the file path, such as j:\\BaseTools. Convert ":\\" to ":\"
BASE_TOOLS_PATH = $(BASE_TOOLS_PATH::\\=:\)
EDK_TOOLS_PATH  = $(EDK_TOOLS_PATH::\\=:\)

SOURCE_PATH = $(BASE_TOOLS_PATH)\Source\C
BIN_PATH    = $(BASE_TOOLS_PATH)\Bin
LIB_PATH    = $(BASE_TOOLS_PATH)\Lib

SYS_BIN_PATH=$(EDK_TOOLS_PATH)\Bin
SYS_LIB_PATH=$(EDK_TOOLS_PATH)\Lib

!IF "$(HOST_ARCH)"=="IA32"
ARCH_INCLUDE = $(EDK2_PATH)\MdePkg\Include\Ia32
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
# Note: Disable flexible array member warnings
CFLAGS = $(CFLAGS) /wd4200

!ELSEIF "$(HOST_ARCH)"=="X64"
ARCH_INCLUDE = $(EDK2_PATH)\MdePkg\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
CFLAGS = $(CFLAGS) /wd4267 /wd4244 /wd4334
# Note: Disable flexible array member warnings
CFLAGS = $(CFLAGS) /wd4200

!ELSEIF "$(HOST_ARCH)"=="AARCH64"
ARCH_INCLUDE = $(EDK2_PATH)\MdePkg\Include\AArch64
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
# Note: These are bit-width conversion related warning suppressions.
CFLAGS = $(CFLAGS) /wd4267 /wd4244 /wd4334
# Note: Disable flexible array member warnings
CFLAGS = $(CFLAGS) /wd4200
!ELSE
!ERROR "Bad HOST_ARCH"
!ENDIF

CC = cl.exe
CXX = cl.exe
AS = ml.exe
AR = lib.exe
LD = link.exe
LINKER = $(LD)

INC = $(INC) -I . -I $(SOURCE_PATH)\Include -I $(ARCH_INCLUDE) -I $(SOURCE_PATH)\Common
INC = $(INC) -I $(EDK2_PATH)\MdePkg\Include

CFLAGS = $(CFLAGS) /nologo /Z7 /c /O2 /MT /W4 /WX /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE
CPPFLAGS = $(CPPFLAGS) /EHsc /nologo /Z7 /c /O2 /MT /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE
