mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-08 06:14:23 +02:00
This change focuses on the support of building basetool natively for Windows ARM/ARM64 host system, which will enable the ARM based platforms to build UEFI and unit tests. Note that the warnings due to integer conversions are suppressed for this specific target to avoid too much local changes carried in MU. The formal change should drop all these binaries and move to pythonic scripts. The binary output is tested on Windows ARM based hardware systems. Cc: Rebecca Cran <rebecca@bsdio.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Bob Feng <bob.c.feng@intel.com> Cc: Yuwei Chen <yuwei.chen@intel.com> Signed-off-by: Kun Qin <kun.qin@microsoft.com>
88 lines
2.5 KiB
Plaintext
88 lines
2.5 KiB
Plaintext
## @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
|
|
|
|
!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
|
|
|
|
!ELSEIF "$(HOST_ARCH)"=="ARM"
|
|
ARCH_INCLUDE = $(EDK2_PATH)\MdePkg\Include\Arm
|
|
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
|
|
|
|
!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
|
|
|
|
!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
|