| ## @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 |