mirror of https://github.com/acidanthera/audk.git
BaseTools/Conf: Add VS2017/ARM support
We duplicate the Assembly-Code-File section from build_rule.template because --convert-hex cannot be used with the MSFT ARM assembler. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
79195517f8
commit
0a4c903c5a
|
@ -182,7 +182,6 @@
|
|||
|
||||
<Command>
|
||||
|
||||
|
||||
[Assembly-Code-File.COMMON.COMMON]
|
||||
<InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
|
||||
?.asm, ?.Asm, ?.ASM
|
||||
|
@ -207,6 +206,36 @@
|
|||
# For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues
|
||||
"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii
|
||||
|
||||
[Assembly-Code-File.COMMON.ARM]
|
||||
# Remove --convert-hex for ARM as it breaks MSFT assemblers
|
||||
<InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
|
||||
?.asm, ?.Asm, ?.ASM
|
||||
|
||||
<InputFile.GCC, InputFile.GCCLD>
|
||||
?.S, ?.s
|
||||
|
||||
<ExtraDependency>
|
||||
$(MAKE_FILE)
|
||||
|
||||
<OutputFile>
|
||||
$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||
|
||||
<Command.INTEL>
|
||||
"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i
|
||||
Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i
|
||||
"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii
|
||||
|
||||
<Command.MSFT>
|
||||
"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i
|
||||
Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i
|
||||
"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii
|
||||
|
||||
<Command.GCC, Command.GCCLD, Command.RVCT>
|
||||
"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i
|
||||
Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i
|
||||
# For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues
|
||||
"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii
|
||||
|
||||
[Nasm-Assembly-Code-File.COMMON.COMMON]
|
||||
<InputFile>
|
||||
?.nasm
|
||||
|
|
|
@ -79,6 +79,7 @@ DEFINE VS2017_HOST = x86
|
|||
DEFINE VS2017_BIN_HOST = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\DEF(VS2017_HOST)
|
||||
DEFINE VS2017_BIN_IA32 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x86
|
||||
DEFINE VS2017_BIN_X64 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x64
|
||||
DEFINE VS2017_BIN_ARM = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm
|
||||
|
||||
DEFINE WINSDK_BIN = ENV(WINSDK_PREFIX)
|
||||
DEFINE WINSDKx86_BIN = ENV(WINSDKx86_PREFIX)
|
||||
|
@ -335,6 +336,9 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
|
|||
# Required to build platforms or ACPI tables:
|
||||
# Intel(r) ACPI Compiler (iasl.exe) from
|
||||
# https://acpica.org/downloads
|
||||
# Note:
|
||||
# Building of XIP firmware images for ARM is not currently supported (only applications).
|
||||
# /FILEALIGN:4096 and other changes are needed for ARM firmware builds.
|
||||
# DDK3790 -win32- Requires:
|
||||
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
|
||||
# Optional:
|
||||
|
@ -4169,6 +4173,33 @@ NOOPT_VS2017_X64_NASM_FLAGS = -O0 -f win64 -g
|
|||
RELEASE_VS2017_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
|
||||
NOOPT_VS2017_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
|
||||
|
||||
#################
|
||||
# ARM definitions
|
||||
#################
|
||||
*_VS2017_ARM_CC_PATH = DEF(VS2017_BIN_ARM)\cl.exe
|
||||
*_VS2017_ARM_VFRPP_PATH = DEF(VS2017_BIN_ARM)\cl.exe
|
||||
*_VS2017_ARM_SLINK_PATH = DEF(VS2017_BIN_ARM)\lib.exe
|
||||
*_VS2017_ARM_DLINK_PATH = DEF(VS2017_BIN_ARM)\link.exe
|
||||
*_VS2017_ARM_APP_PATH = DEF(VS2017_BIN_ARM)\cl.exe
|
||||
*_VS2017_ARM_PP_PATH = DEF(VS2017_BIN_ARM)\cl.exe
|
||||
*_VS2017_ARM_ASM_PATH = DEF(VS2017_BIN_ARM)\armasm.exe
|
||||
*_VS2017_ARM_ASLCC_PATH = DEF(VS2017_BIN_ARM)\cl.exe
|
||||
*_VS2017_ARM_ASLPP_PATH = DEF(VS2017_BIN_ARM)\cl.exe
|
||||
*_VS2017_ARM_ASLDLINK_PATH = DEF(VS2017_BIN_ARM)\link.exe
|
||||
|
||||
*_VS2017_ARM_MAKE_FLAGS = /nologo
|
||||
DEBUG_VS2017_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw /Oi-
|
||||
RELEASE_VS2017_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-
|
||||
NOOPT_VS2017_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od /Oi-
|
||||
|
||||
DEBUG_VS2017_ARM_ASM_FLAGS = /nologo /g
|
||||
RELEASE_VS2017_ARM_ASM_FLAGS = /nologo
|
||||
NOOPT_VS2017_ARM_ASM_FLAGS = /nologo
|
||||
|
||||
DEBUG_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
|
||||
RELEASE_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
|
||||
NOOPT_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
|
||||
|
||||
##################
|
||||
# EBC definitions
|
||||
##################
|
||||
|
|
Loading…
Reference in New Issue