\r
<Command>\r
\r
-\r
[Assembly-Code-File.COMMON.COMMON]\r
<InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>\r
?.asm, ?.Asm, ?.ASM\r
# For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues\r
"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii\r
\r
+[Assembly-Code-File.COMMON.ARM]\r
+ # Remove --convert-hex for ARM as it breaks MSFT assemblers\r
+ <InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>\r
+ ?.asm, ?.Asm, ?.ASM\r
+\r
+ <InputFile.GCC, InputFile.GCCLD>\r
+ ?.S, ?.s\r
+\r
+ <ExtraDependency>\r
+ $(MAKE_FILE)\r
+\r
+ <OutputFile>\r
+ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj\r
+\r
+ <Command.INTEL>\r
+ "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i\r
+ Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i\r
+ "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii\r
+\r
+ <Command.MSFT>\r
+ "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i\r
+ Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i\r
+ "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii\r
+\r
+ <Command.GCC, Command.GCCLD, Command.RVCT>\r
+ "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i\r
+ Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i\r
+ # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues\r
+ "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii\r
+\r
[Nasm-Assembly-Code-File.COMMON.COMMON]\r
<InputFile>\r
?.nasm\r
DEFINE VS2017_BIN_HOST = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\DEF(VS2017_HOST)\r
DEFINE VS2017_BIN_IA32 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x86\r
DEFINE VS2017_BIN_X64 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x64\r
+DEFINE VS2017_BIN_ARM = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm\r
\r
DEFINE WINSDK_BIN = ENV(WINSDK_PREFIX)\r
DEFINE WINSDKx86_BIN = ENV(WINSDKx86_PREFIX)\r
# Required to build platforms or ACPI tables:\r
# Intel(r) ACPI Compiler (iasl.exe) from\r
# https://acpica.org/downloads\r
+# Note:\r
+# Building of XIP firmware images for ARM is not currently supported (only applications).\r
+# /FILEALIGN:4096 and other changes are needed for ARM firmware builds.\r
# DDK3790 -win32- Requires:\r
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830\r
# Optional:\r
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\r
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\r
\r
+#################\r
+# ARM definitions\r
+#################\r
+*_VS2017_ARM_CC_PATH = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_VFRPP_PATH = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_SLINK_PATH = DEF(VS2017_BIN_ARM)\lib.exe\r
+*_VS2017_ARM_DLINK_PATH = DEF(VS2017_BIN_ARM)\link.exe\r
+*_VS2017_ARM_APP_PATH = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_PP_PATH = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_ASM_PATH = DEF(VS2017_BIN_ARM)\armasm.exe\r
+*_VS2017_ARM_ASLCC_PATH = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_ASLPP_PATH = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_ASLDLINK_PATH = DEF(VS2017_BIN_ARM)\link.exe\r
+\r
+ *_VS2017_ARM_MAKE_FLAGS = /nologo\r
+ 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-\r
+RELEASE_VS2017_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-\r
+NOOPT_VS2017_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od /Oi-\r
+\r
+ DEBUG_VS2017_ARM_ASM_FLAGS = /nologo /g\r
+RELEASE_VS2017_ARM_ASM_FLAGS = /nologo\r
+NOOPT_VS2017_ARM_ASM_FLAGS = /nologo\r
+\r
+ 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\r
+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\r
+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\r
+\r
##################\r
# EBC definitions\r
##################\r