- Timestamp:
- Sep 22, 2019 4:35:30 PM (5 years ago)
- Location:
- trunk/src/VBox/Devices/EFI/Firmware
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/Firmware/Config.kmk
r80925 r80935 73 73 VBOX_EFI_TOOL_CHAIN := VS2010 74 74 else 75 VBOX_EFI_TOOL_CHAIN = UNIXGCC 76 if !defined(VBOX_PATH_PREFIX_MINGW32) && !defined(VBOX_PATH_PREFIX_MINGW64) 77 $(info Requires VBOX_PATH_PREFIX_MINGW32 and/or VBOX_PATH_PREFIX_MINGW64 to point something mingw like or there must be some mingw like in the PATH.) 78 $(info ) 79 $(info Recent Fedora: sudo yum install mingw64-gcc mingw64-gcc-c++ mingw64-binutils mingw32-gcc mingw32-gcc-c++ mingw32-binutils) 80 $(info ) 81 $(info Newer Debian and forks: sudo apt-get install binutils-mingw-w64 gcc-mingw-w64 g++-mingw-w64 ) 82 $(info Older Debian and forks: sudo apt-get install mingw32-binutils mingw32 mingw32-runtime ) 83 $(info ) 84 $(info Gentoo: crossdev -S -P -v -t i686-pc-mingw32 && crossdev -S -P -v -t x86_64-pc-mingw32) 85 $(info ) 86 $(error Needs mingw32/64) 87 endif 75 VBOX_EFI_TOOL_CHAIN = GCC48 88 76 endif 89 77 -
trunk/src/VBox/Devices/EFI/Firmware/Makefile.kmk
r80721 r80935 252 252 -e 's,@KMK@,$(MAKE),' \ 253 253 \ 254 -e 's,@VBOX_PATH_PREFIX_MINGW32@,$(VBOX_PATH_PREFIX_MINGW32),' \ 255 -e 's,@VBOX_PATH_PREFIX_MINGW64@,$(VBOX_PATH_PREFIX_MINGW64),' \ 256 -e 's,@VBOX_MINGW32_Wno@,-Wno-address $(VBOX_MINGW32_Wno-unused-but-set-variable) $(VBOX_MINGW32_Wno-maybe-uninitialized) $(VBOX_MINGW32_Wno-array-bounds),' \ 257 -e 's,@VBOX_MINGW64_Wno@,-Wno-address $(VBOX_MINGW64_Wno-unused-but-set-variable) $(VBOX_MINGW64_Wno-maybe-uninitialized) $(VBOX_MINGW64_Wno-array-bounds),' \ 258 -e 's,@VBOX_MINGW64_USER_LABEL_PREFIX@,$(VBOX_MINGW64_USER_LABEL_PREFIX),' \ 254 -e 's,@VBOX_PATH_PREFIX_GCC32@,$(PATH_TOOL_$(VBOX_GCC_TOOL)),' \ 255 -e 's,@VBOX_PATH_PREFIX_GCC64@,$(PATH_TOOL_$(VBOX_GCC_TOOL)),' \ 259 256 \ 260 257 -e 's,@PATH_VS2010@,$(PATH_TOOL_$(VBOX_VCC_TOOL)),' \ … … 275 272 -e 's,@KMK@,$(MAKE),' \ 276 273 \ 277 -e 's,@VBOX_PATH_PREFIX_MINGW32@,$(VBOX_PATH_PREFIX_MINGW32),' \ 278 -e 's,@VBOX_PATH_PREFIX_MINGW64@,$(VBOX_PATH_PREFIX_MINGW64),' \ 279 -e 's,@VBOX_MINGW32_Wno@,-Wno-address $(VBOX_MINGW32_Wno-unused-but-set-variable) $(VBOX_MINGW32_Wno-maybe-uninitialized) $(VBOX_MINGW32_Wno-array-bounds),' \ 280 -e 's,@VBOX_MINGW64_Wno@,-Wno-address $(VBOX_MINGW64_Wno-unused-but-set-variable) $(VBOX_MINGW64_Wno-maybe-uninitialized) $(VBOX_MINGW64_Wno-array-bounds),' \ 281 -e 's,@VBOX_MINGW64_USER_LABEL_PREFIX@,$(VBOX_MINGW64_USER_LABEL_PREFIX),' \ 274 -e 's,@VBOX_PATH_PREFIX_GCC32@,$(PATH_TOOL_$(VBOX_VCC_TOOL)),' \ 275 -e 's,@VBOX_PATH_PREFIX_GCC64@,$(PATH_TOOL_$(VBOX_VCC_TOOL)),' \ 282 276 \ 283 277 -e 's,@PATH_VS2010@,$(PATH_TOOL_$(VBOX_VCC_TOOL)),' \ -
trunk/src/VBox/Devices/EFI/Firmware/vbox-tools_def.txt
r80920 r80935 1 1 # 2 # Copyright (c) 2006 - 201 2, Intel Corporation. All rights reserved.<BR>2 # Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 3 3 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 4 # 5 # This program and the accompanying materials 6 # are licensed and made available under the terms and conditions of the BSD License 7 # which accompanies this distribution. The full text of the license may be found at 8 # http://opensource.org/licenses/bsd-license.php 9 # 10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 4 # Portions copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR> 5 # Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR> 6 # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR> 7 # 8 # SPDX-License-Identifier: BSD-2-Clause-Patent 12 9 # 13 10 14 11 IDENTIFIER = Default TOOL_CHAIN_CONF 15 12 13 # common path macros 16 14 DEFINE VS2010_BIN = @PATH_VS2010@/bin 17 15 DEFINE VS2010_DLL = @PATH_VS2010@/bin 18 16 DEFINE VS2010_BINX64 = @PATH_VS2010_AMD64_BIN@ 19 20 DEFINE WINSDK_BIN = c:\no\such\directory 21 22 DEFINE UNIXGCC_IA32_PETOOLS_PREFIX = @VBOX_PATH_PREFIX_MINGW32@ 23 DEFINE UNIXGCC_X64_PETOOLS_PREFIX = @VBOX_PATH_PREFIX_MINGW64@ 24 25 DEFINE IASL_BIN = @VBOX_IASLCMD@ 17 DEFINE VS2010_BIN64 = DEF(VS2010_BIN)\x86_ia64 18 19 # Microsoft Visual Studio 2010 20 DEFINE WINSDK7_BIN = c:\no\such\directory 21 22 # These defines are needed for certain Microsoft Visual Studio tools that 23 # are used by other toolchains. An example is that ICC on Windows normally 24 # uses Microsoft's nmake.exe. 25 26 # Some MS_VS_BIN options: DEF(VS2008_BIN), DEF(VS2008x86_BIN) 27 DEFINE MS_VS_BIN = DEF(VS2010_BIN) 28 # Some MS_VS_DLL options: DEF(VS2008_DLL), DEF(VS2008x86_DLL) 29 DEFINE MS_VS_DLL = DEF(VS2010_DLL) 30 31 DEFINE WINDDK_BIN16 = ENV(WINDDK3790_PREFIX)bin16 32 DEFINE WINDDK_BINX64 = ENV(WINDDK3790_PREFIX)win64\x86\amd64 33 34 DEFINE EBC_BIN = C:\Program Files\Intel\EBC\Bin 35 DEFINE EBC_BINx86 = C:\Program Files (x86)\Intel\EBC\Bin 36 37 38 DEFINE GCC48_IA32_PREFIX = @VBOX_PATH_PREFIX_GCC32@ 39 DEFINE GCC48_X64_PREFIX = @VBOX_PATH_PREFIX_GCC64@ 40 41 DEFINE UNIX_IASL_BIN = @VBOX_IASLCMD@ 42 DEFINE WIN_IASL_BIN = @VBOX_IASLCMD@ 43 26 44 DEFINE IASL_FLAGS = 27 45 DEFINE IASL_OUTFLAGS = -p 28 46 29 DEFINE NASM_BIN = @VBOX_NASMCMD@ 47 DEFINE DEFAULT_WIN_ASL_BIN = DEF(WIN_IASL_BIN) 48 DEFINE DEFAULT_WIN_ASL_FLAGS = DEF(IASL_FLAGS) 49 DEFINE DEFAULT_WIN_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) 30 50 31 51 DEFINE MSFT_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h … … 33 53 DEFINE MSFT_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE 34 54 35 55 DEFINE DTCPP_BIN = ENV(DTCPP_PREFIX)cpp 56 DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc 36 57 37 58 #################################################################################### … … 68 89 # Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler) 69 90 # Required to build platforms or ACPI tables: 70 # Intel(r) ACPI Compiler (iasl.exe) v20101013 from 71 # http://www.acpica.org/downloads/previous_releases.php 72 # UNIXGCC -UNIX- Requires: 73 # GCC 4.3.0 74 # binutils 2.20.51.0.5 91 # Intel(r) ACPI Compiler (iasl.exe) from 92 # https://acpica.org/downloads 93 # GCC48 -Linux,Windows- Requires: 94 # GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi 75 95 # Optional: 76 96 # Required to build platforms or ACPI tables: 77 # Intel(r) ACPI Compiler v20101013 from 78 # http://www.acpica.org/downloads/previous_releases.php 79 # VS2010x86 -win64- Requires: 80 # Microsoft Visual Studio 2010 (x86) Premium Edition 81 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830 82 # Optional: 83 # Required to build platforms or ACPI tables: 84 # Intel(r) ACPI Compiler (iasl.exe) v20101013 from 85 # http://www.acpica.org/downloads/previous_releases.php 86 # 87 #################################################################################### 88 #################################################################################### 89 # 90 # Supported Tool Chain Families 91 # ============================= 97 # Intel(r) ACPI Compiler from 98 # https://acpica.org/downloads 99 #################################################################################### 100 #################################################################################### 101 # 102 # Supported Tool Chain Family 103 # =========================== 92 104 # MSFT - Microsoft 93 105 # GCC - GNU GCC 94 # INTEL - INTEL95 # RVCT - ARM RealView Toolchain96 106 #################################################################################### 97 107 … … 102 112 # Microsoft Visual Studio 2010 103 113 # 104 # VS2010 - Microsoft Visual Studio 2010 Premium Edition 114 # VS2010 - Microsoft Visual Studio 2010 Premium Edition with Intel ASL 105 115 # ASL - Intel ACPI Source Language Compiler 106 116 #################################################################################### 107 117 # VS2010 - Microsoft Visual Studio 2010 Premium Edition 108 *_VS2010_*_*_FAMILY = MSFT109 110 *_VS2010_*_MAKE_PATH = DEF(VS2010_BIN)/nmake.exe111 *_VS2010_*_MAKE_FLAGS = /nologo112 *_VS2010_*_RC_PATH = rc.exe113 114 *_VS2010_*_SLINK_FLAGS = /NOLOGO /LTCG115 *_VS2010_*_APP_FLAGS = /nologo /E /TC116 *_VS2010_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h117 *_VS2010_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h118 119 *_VS2010_*_ASM16_PATH = DEF(VS2010_BIN)/ml.exe118 *_VS2010_*_*_FAMILY = MSFT 119 120 *_VS2010_*_MAKE_PATH = DEF(VS2010_BIN)/nmake.exe 121 *_VS2010_*_MAKE_FLAGS = /nologo 122 *_VS2010_*_RC_PATH = rc.exe 123 124 *_VS2010_*_SLINK_FLAGS = /NOLOGO /LTCG 125 *_VS2010_*_APP_FLAGS = /nologo /E /TC 126 *_VS2010_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h 127 *_VS2010_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h 128 129 *_VS2010_*_ASM16_PATH = DEF(VS2010_BIN)\ml.exe 120 130 121 131 ################## 122 132 # ASL definitions 123 133 ################## 124 *_VS2010_*_ASL_PATH = DEF(IASL_BIN)125 *_VS2010_*_ASL_FLAGS = DEF(IASL_FLAGS)126 *_VS2010_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)127 *_VS2010_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)128 *_VS2010_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)129 *_VS2010_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)134 *_VS2010_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN) 135 *_VS2010_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS) 136 *_VS2010_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS) 137 *_VS2010_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS) 138 *_VS2010_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS) 139 *_VS2010_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS) 130 140 131 141 ################## … … 134 144 *_VS2010_IA32_*_DLL = DEF(VS2010_DLL) 135 145 136 *_VS2010_IA32_MAKE_PATH = DEF(VS2010_BIN) /nmake.exe137 *_VS2010_IA32_CC_PATH = DEF(VS2010_BIN) /cl.exe138 *_VS2010_IA32_VFRPP_PATH = DEF(VS2010_BIN) /cl.exe139 *_VS2010_IA32_SLINK_PATH = DEF(VS2010_BIN) /lib.exe140 *_VS2010_IA32_DLINK_PATH = DEF(VS2010_BIN) /link.exe141 *_VS2010_IA32_APP_PATH = DEF(VS2010_BIN) /cl.exe142 *_VS2010_IA32_PP_PATH = DEF(VS2010_BIN) /cl.exe143 *_VS2010_IA32_ASM_PATH = DEF(VS2010_BIN) /ml.exe144 *_VS2010_IA32_ASLCC_PATH = DEF(VS2010_BIN) /cl.exe145 *_VS2010_IA32_ASLPP_PATH = DEF(VS2010_BIN) /cl.exe146 *_VS2010_IA32_ASLDLINK_PATH = DEF(VS2010_BIN) /link.exe146 *_VS2010_IA32_MAKE_PATH = DEF(VS2010_BIN)\nmake.exe 147 *_VS2010_IA32_CC_PATH = DEF(VS2010_BIN)\cl.exe 148 *_VS2010_IA32_VFRPP_PATH = DEF(VS2010_BIN)\cl.exe 149 *_VS2010_IA32_SLINK_PATH = DEF(VS2010_BIN)\lib.exe 150 *_VS2010_IA32_DLINK_PATH = DEF(VS2010_BIN)\link.exe 151 *_VS2010_IA32_APP_PATH = DEF(VS2010_BIN)\cl.exe 152 *_VS2010_IA32_PP_PATH = DEF(VS2010_BIN)\cl.exe 153 *_VS2010_IA32_ASM_PATH = DEF(VS2010_BIN)\ml.exe 154 *_VS2010_IA32_ASLCC_PATH = DEF(VS2010_BIN)\cl.exe 155 *_VS2010_IA32_ASLPP_PATH = DEF(VS2010_BIN)\cl.exe 156 *_VS2010_IA32_ASLDLINK_PATH = DEF(VS2010_BIN)\link.exe 147 157 148 158 *_VS2010_IA32_MAKE_FLAGS = /nologo 149 DEBUG_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm 150 RELEASE_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2s /Oy- /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi 151 #UDK RELEASE_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF 152 NOOPT_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od 159 DEBUG_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /MP 160 RELEASE_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /MP 161 NOOPT_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od /MP 153 162 154 163 DEBUG_VS2010_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi … … 167 176 # X64 definitions 168 177 ################## 169 *_VS2010_X64_*_DLL = DEF(VS2010_BINX64);DEF(VS2010_DLL) 170 171 *_VS2010_X64_CC_PATH = DEF(VS2010_BINX64)/cl.exe 172 *_VS2010_X64_PP_PATH = DEF(VS2010_BINX64)/cl.exe 173 *_VS2010_X64_APP_PATH = DEF(VS2010_BINX64)/cl.exe 174 *_VS2010_X64_VFRPP_PATH = DEF(VS2010_BINX64)/cl.exe 175 *_VS2010_X64_ASM_PATH = DEF(VS2010_BINX64)/ml64.exe 176 *_VS2010_X64_SLINK_PATH = DEF(VS2010_BINX64)/lib.exe 177 *_VS2010_X64_DLINK_PATH = DEF(VS2010_BINX64)/link.exe 178 *_VS2010_X64_ASLCC_PATH = DEF(VS2010_BINX64)/cl.exe 179 *_VS2010_X64_ASLPP_PATH = DEF(VS2010_BINX64)/cl.exe 180 *_VS2010_X64_ASLDLINK_PATH = DEF(VS2010_BINX64)/link.exe 181 182 DEBUG_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm 183 RELEASE_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2s /Oy- /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi 184 #UDK RELEASE_VS2010_X64_CC_FLAGS= /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF 185 NOOPT_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od 178 *_VS2010_X64_*_DLL = DEF(VS2010_DLL) 179 180 *_VS2010_X64_CC_PATH = DEF(VS2010_BINX64)\cl.exe 181 *_VS2010_X64_PP_PATH = DEF(VS2010_BINX64)\cl.exe 182 *_VS2010_X64_APP_PATH = DEF(VS2010_BINX64)\cl.exe 183 *_VS2010_X64_VFRPP_PATH = DEF(VS2010_BINX64)\cl.exe 184 *_VS2010_X64_ASM_PATH = DEF(VS2010_BINX64)\ml64.exe 185 *_VS2010_X64_SLINK_PATH = DEF(VS2010_BINX64)\lib.exe 186 *_VS2010_X64_DLINK_PATH = DEF(VS2010_BINX64)\link.exe 187 *_VS2010_X64_ASLCC_PATH = DEF(VS2010_BINX64)\cl.exe 188 *_VS2010_X64_ASLPP_PATH = DEF(VS2010_BINX64)\cl.exe 189 *_VS2010_X64_ASLDLINK_PATH = DEF(VS2010_BINX64)\link.exe 190 191 DEBUG_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /MP 192 RELEASE_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /MP 193 NOOPT_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP 186 194 187 195 DEBUG_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi … … 197 205 NOOPT_VS2010_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 198 206 199 207 ################## 208 # EBC definitions 209 ################## 210 *_VS2010_EBC_*_FAMILY = INTEL 211 *_VS2010_EBC_*_DLL = DEF(VS2010_DLL) 212 213 *_VS2010_EBC_MAKE_PATH = DEF(VS2010_BIN)\nmake.exe 214 *_VS2010_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe 215 *_VS2010_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe 216 *_VS2010_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe 217 *_VS2010_EBC_SLINK_PATH = DEF(VS2010_BIN)\link.exe 218 *_VS2010_EBC_DLINK_PATH = DEF(VS2010_BIN)\link.exe 219 220 *_VS2010_EBC_MAKE_FLAGS = /nologo 221 *_VS2010_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h 222 *_VS2010_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT) 223 *_VS2010_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h 224 *_VS2010_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC 225 *_VS2010_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER 200 226 201 227 … … 208 234 *_*_*_SYMRENAME_PATH = echo 209 235 *_*_*_SYMRENAME_FLAGS = Symbol renaming not needed for 210 DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)\$(MODULE_NAME).debug 211 # todo: RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)\$(MODULE_NAME).debug 212 RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG = 213 214 DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-unused-but-set-variable -c -include AutoGen.h 215 DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -mno-stack-arg-probe @VBOX_MINGW32_Wno@ 216 DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe @VBOX_MINGW64_Wno@ 217 DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie --fatal-warnings 236 DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug 237 RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug 238 NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug 239 *_*_*_DTC_FLAGS = -H epapr 240 *_*_*_DTCPP_PATH = DEF(DTCPP_BIN) 241 *_*_*_DTC_PATH = DEF(DTC_BIN) 242 243 DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common 244 DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe @VBOX_MINGW32_Wno@ 245 DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe @VBOX_MINGW32_Wno@ 246 DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie 247 DEFINE GCC_DLINK2_FLAGS_COMMON = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds 218 248 DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections 219 249 DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) 220 DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) -- file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map250 DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map 221 251 DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h 222 252 DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h 223 253 DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h 224 DEFINE GCC_ASLPP_FLAGS = -x c -E - P254 DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h 225 255 DEFINE GCC_ASLCC_FLAGS = -x c 226 256 DEFINE GCC_WINDRES_FLAGS = -J rc -O coff 227 DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii 228 DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --rename-section .data=.hii 229 230 231 #################################################################################### 232 # 233 # Unix GCC And Intel Linux ACPI Compiler 234 # 235 #################################################################################### 236 # UNIXGCC - UNIX GCC 237 # ASL - Intel Linux ACPI Source Language Compiler (iasl) 238 *_UNIXGCC_*_*_FAMILY = GCC 239 240 *_UNIXGCC_*_MAKE_PATH = @KMK@ 241 *_UNIXGCC_*_ASL_PATH = DEF(IASL_BIN) 242 243 *_UNIXGCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0 --entry _$(IMAGE_ENTRY_POINT) 244 *_UNIXGCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0 --entry @VBOX_MINGW64_USER_LABEL_PREFIX@$(IMAGE_ENTRY_POINT) 245 *_UNIXGCC_IA32_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS) 246 *_UNIXGCC_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS) 247 *_UNIXGCC_*_ASM_FLAGS = DEF(GCC_ASM_FLAGS) 248 *_UNIXGCC_*_PP_FLAGS = DEF(GCC_PP_FLAGS) 249 *_UNIXGCC_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) 250 *_UNIXGCC_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) 251 *_UNIXGCC_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) 252 *_UNIXGCC_*_APP_FLAGS = 253 *_UNIXGCC_*_ASL_FLAGS = DEF(IASL_FLAGS) 254 *_UNIXGCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) 255 256 ################## 257 # IA32 definitions 258 ################## 259 *_UNIXGCC_IA32_OBJCOPY_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)objcopy 260 *_UNIXGCC_IA32_PP_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)gcc 261 *_UNIXGCC_IA32_CC_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)gcc 262 *_UNIXGCC_IA32_SLINK_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)ar 263 *_UNIXGCC_IA32_DLINK_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)ld 264 *_UNIXGCC_IA32_ASLPP_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)gcc 265 *_UNIXGCC_IA32_ASLCC_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)gcc 266 *_UNIXGCC_IA32_ASLDLINK_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)ld 267 *_UNIXGCC_IA32_ASM_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)gcc 268 *_UNIXGCC_IA32_VFRPP_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)gcc 269 *_UNIXGCC_IA32_RC_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)objcopy 270 271 DEBUG_UNIXGCC_IA32_CC_FLAGS = DEF(GCC_IA32_CC_FLAGS) -Os -fno-omit-frame-pointer 272 NOOPT_UNIXGCC_IA32_CC_FLAGS = DEF(GCC_IA32_CC_FLAGS) -O0 -fno-omit-frame-pointer 273 RELEASE_UNIXGCC_IA32_CC_FLAGS = DEF(GCC_IA32_CC_FLAGS) -Os -fno-omit-frame-pointer 274 *_UNIXGCC_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) 275 *_UNIXGCC_IA32_OBJCOPY_FLAGS = 276 *_UNIXGCC_IA32_NASM_FLAGS = -f win32 277 278 ################## 279 # X64 definitions 280 ################## 281 *_UNIXGCC_X64_CC_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc 282 *_UNIXGCC_X64_ASLCC_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc 283 *_UNIXGCC_X64_SLINK_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)ar 284 *_UNIXGCC_X64_DLINK_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)ld 285 *_UNIXGCC_X64_ASLDLINK_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)ld 286 *_UNIXGCC_X64_ASM_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc 287 *_UNIXGCC_X64_PP_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc 288 *_UNIXGCC_X64_ASLPP_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc 289 *_UNIXGCC_X64_VFRPP_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc 290 *_UNIXGCC_X64_RC_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)objcopy 291 *_UNIXGCC_X64_OBJCOPY_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)objcopy 292 293 *_UNIXGCC_X64_CC_FLAGS = DEF(GCC_X64_CC_FLAGS) -fno-omit-frame-pointer 294 *_UNIXGCC_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) 295 *_UNIXGCC_X64_OBJCOPY_FLAGS = 296 *_UNIXGCC_X64_NASM_FLAGS = -f win64 297 298 299 #################################################################################### 300 # 301 # Misc 302 # 303 #################################################################################### 257 DEFINE GCC_DTCPP_FLAGS = -E -x assembler-with-cpp -imacros $(DEST_DIR_DEBUG)/AutoGen.h -nostdinc -undef 258 DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii 259 DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --rename-section .data=.hii 260 261 DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings 262 DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 263 DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address -fno-pie -fno-pic 264 DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address 265 DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable 266 DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive 267 DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) 268 DEFINE GCC48_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie 269 DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON) 270 DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS) 271 DEFINE GCC48_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) 272 273 #################################################################################### 274 # 275 # GCC 4.8 - This configuration is used to compile under Linux to produce 276 # PE/COFF binaries using GCC 4.8. 277 # 278 #################################################################################### 279 *_GCC48_*_*_FAMILY = GCC 280 281 *_GCC48_*_MAKE_PATH = @KMK@ 282 *_GCC48_*_*_DLL = ENV(GCC48_DLL) 283 *_GCC48_*_ASL_PATH = DEF(UNIX_IASL_BIN) 284 285 *_GCC48_*_PP_FLAGS = DEF(GCC_PP_FLAGS) 286 *_GCC48_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) 287 *_GCC48_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) 288 *_GCC48_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) 289 *_GCC48_*_APP_FLAGS = 290 *_GCC48_*_ASL_FLAGS = DEF(IASL_FLAGS) 291 *_GCC48_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) 292 293 ################## 294 # GCC48 IA32 definitions 295 ################## 296 *_GCC48_IA32_OBJCOPY_PATH = DEF(GCC48_IA32_PREFIX)objcopy 297 *_GCC48_IA32_CC_PATH = DEF(GCC48_IA32_PREFIX)gcc 298 *_GCC48_IA32_SLINK_PATH = DEF(GCC48_IA32_PREFIX)ar 299 *_GCC48_IA32_DLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc 300 *_GCC48_IA32_ASLDLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc 301 *_GCC48_IA32_ASM_PATH = DEF(GCC48_IA32_PREFIX)gcc 302 *_GCC48_IA32_PP_PATH = DEF(GCC48_IA32_PREFIX)gcc 303 *_GCC48_IA32_VFRPP_PATH = DEF(GCC48_IA32_PREFIX)gcc 304 *_GCC48_IA32_ASLCC_PATH = DEF(GCC48_IA32_PREFIX)gcc 305 *_GCC48_IA32_ASLPP_PATH = DEF(GCC48_IA32_PREFIX)gcc 306 *_GCC48_IA32_RC_PATH = DEF(GCC48_IA32_PREFIX)objcopy 307 308 *_GCC48_IA32_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m32 309 *_GCC48_IA32_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 310 *_GCC48_IA32_ASM_FLAGS = DEF(GCC48_ASM_FLAGS) -m32 -march=i386 311 *_GCC48_IA32_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 312 *_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) 313 *_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) 314 *_GCC48_IA32_OBJCOPY_FLAGS = 315 *_GCC48_IA32_NASM_FLAGS = -f elf32 316 317 DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os 318 RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable 319 NOOPT_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -O0 320 321 ################## 322 # GCC48 X64 definitions 323 ################## 324 *_GCC48_X64_OBJCOPY_PATH = DEF(GCC48_X64_PREFIX)objcopy 325 *_GCC48_X64_CC_PATH = DEF(GCC48_X64_PREFIX)gcc 326 *_GCC48_X64_SLINK_PATH = DEF(GCC48_X64_PREFIX)ar 327 *_GCC48_X64_DLINK_PATH = DEF(GCC48_X64_PREFIX)gcc 328 *_GCC48_X64_ASLDLINK_PATH = DEF(GCC48_X64_PREFIX)gcc 329 *_GCC48_X64_ASM_PATH = DEF(GCC48_X64_PREFIX)gcc 330 *_GCC48_X64_PP_PATH = DEF(GCC48_X64_PREFIX)gcc 331 *_GCC48_X64_VFRPP_PATH = DEF(GCC48_X64_PREFIX)gcc 332 *_GCC48_X64_ASLCC_PATH = DEF(GCC48_X64_PREFIX)gcc 333 *_GCC48_X64_ASLPP_PATH = DEF(GCC48_X64_PREFIX)gcc 334 *_GCC48_X64_RC_PATH = DEF(GCC48_X64_PREFIX)objcopy 335 336 *_GCC48_X64_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m64 337 *_GCC48_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 338 *_GCC48_X64_ASM_FLAGS = DEF(GCC48_ASM_FLAGS) -m64 339 *_GCC48_X64_DLINK_FLAGS = DEF(GCC48_X64_DLINK_FLAGS) 340 *_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS) 341 *_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) 342 *_GCC48_X64_OBJCOPY_FLAGS = 343 *_GCC48_X64_NASM_FLAGS = -f elf64 344 345 DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os 346 RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable 347 NOOPT_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -O0 348 349 ################# 350 # ASM 16 linker definitions 351 ################# 352 *_*_*_ASMLINK_PATH = DEF(WINDDK_BIN16)\link16.exe 353 *_*_*_ASMLINK_FLAGS = /nologo /tiny 304 354 305 355 ################## … … 336 386 337 387 ################## 388 # Rsa2048Sha256Sign tool definitions 389 # 390 # Notes: This tool definition uses a test signing key for development purposes only. 391 # The tool Rsa2048Sha256GenerateKeys can be used to generate a new private/public key 392 # and the gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value. 393 # A custom tool/script can be implemented using the new private/public key with 394 # the Rsa2048Sha256Sign tool and this tool definition can be updated to use a 395 # custom tool/script. 396 # 397 # Generate new private/public key and gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value 398 # 399 # Rsa2048Sha256GenerateKeys.py -o MyKey.pem --public-key-hash-c MyKey.pcd 400 # 401 # Custom script example (MyRsa2048Sha256Sign.cmd): 402 # 403 # Rsa2048Sha256Sign --private-key MyKey.pem %1 %2 %3 %4 %5 %6 %7 %8 %9 404 # 405 # WARNING: Vendors that uses private keys are responsible for proper management and protection 406 # of private keys. Vendors may choose to use infrastructure such as signing servers 407 # or signing portals to support the management and protection of private keys. 408 # 409 ################## 410 *_*_*_RSA2048SHA256SIGN_PATH = Rsa2048Sha256Sign 411 *_*_*_RSA2048SHA256SIGN_GUID = A7717414-C616-4977-9420-844712A735BF 412 413 ################## 414 # BrotliCompress tool definitions 415 ################## 416 *_*_*_BROTLI_PATH = BrotliCompress 417 *_*_*_BROTLI_GUID = 3D532050-5CDA-4FD0-879E-0F7F630D5AFB 418 419 ################## 338 420 # LzmaCompress tool definitions 339 421 ################## … … 344 426 # LzmaF86Compress tool definitions with converter for x86 code. 345 427 # It can improve the compression ratio if the input file is IA32 or X64 PE image. 346 # Notes: If X64 PE image is built based on GCC44, it may not get the better compression.347 428 ################## 348 429 *_*_*_LZMAF86_PATH = LzmaF86Compress … … 362 443 363 444 ################## 445 # Pkcs7Sign tool definitions 446 ################## 447 *_*_*_PKCS7SIGN_PATH = Pkcs7Sign 448 *_*_*_PKCS7SIGN_GUID = 4AAFD29D-68DF-49EE-8AA9-347D375665A7 449 450 ################## 364 451 # NASM tool definitions 365 452 ################## 366 *_*_*_NASM_PATH = DEF(NASM_BIN)453 *_*_*_NASM_PATH = @VBOX_NASMCMD@ 367 454 # NASMB uses NASM produce a .bin from a .nasmb NASM source file 368 #*_*_*_NASMB_FLAGS = -f bin -D__YASM__ -DASM_FORMAT_BIN -DVBOX 369 *_*_*_NASMB_FLAGS = -f bin -DASM_FORMAT_BIN -DVBOX 455 *_*_*_NASMB_FLAGS = -f bin -DVBOX 370 456 371 457 #################
Note:
See TracChangeset
for help on using the changeset viewer.