summaryrefslogtreecommitdiff
path: root/BaseTools/Conf/build_rule.template
diff options
context:
space:
mode:
authorScott Duplichan <scott@notabs.org>2014-11-18 02:38:20 +0000
committerlgao4 <lgao4@Edk2>2014-11-18 02:38:20 +0000
commit285a175441e661cc9d68c939ab0799ba6803ba51 (patch)
treed8153d59518d81675e6c68f9dc7334d549989f26 /BaseTools/Conf/build_rule.template
parentd808fc659d06c76489c40c6d6a6f1cf9710aa64e (diff)
downloadedk2-platforms-285a175441e661cc9d68c939ab0799ba6803ba51.tar.xz
BaseTools: Modify gcc 4.8 and 4.9 tool chain definition to support building from Windows.
Here is a new patch that adds Windows support for both gcc 4.8.x and gcc 4.9.x. This time testing is more thorough: boot testing using Duet for all 4 combinations of IA32/X64 and gcc 4.8.2 and gcc 4.9.1 passes. A Windows hosted gcc 4.8.2 has been added here: http://sourceforge.net/projects/edk2developertoolsforwindows/ The environment variable settings for Windows look like: set UEFI_BUILD_TOOLS=%cd%\tools set NASM_PREFIX=%UEFI_BUILD_TOOLS%\nasm211\ set GCC48_BIN=%UEFI_BUILD_TOOLS%\gcc482-x86\bin\ set GCC48_DLL=%UEFI_BUILD_TOOLS%\gcc482-x86\dll\;%GCC48_BIN% set GCC48_ARM_PREFIX=%UEFI_BUILD_TOOLS%\gcc482-arm\bin\ set GCC48_AARCH64_PREFIX=%UEFI_BUILD_TOOLS%\gcc482-aarch64\bin\ set GCC49_BIN=%UEFI_BUILD_TOOLS%\gcc491-x86\bin\ set GCC49_DLL=%UEFI_BUILD_TOOLS%\gcc491-x86\dll\;%GCC49_BIN% set GCC49_ARM_PREFIX=%UEFI_BUILD_TOOLS%\gcc491-arm\bin\ set GCC49_AARCH64_PREFIX=%UEFI_BUILD_TOOLS%\gcc491-aarch64\bin\ No change is needed for building from Linux. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Scott Duplichan <scott@notabs.org> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16400 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'BaseTools/Conf/build_rule.template')
-rw-r--r--BaseTools/Conf/build_rule.template24
1 files changed, 23 insertions, 1 deletions
diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index 496fd666b1..f1edf3a2f4 100644
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -131,11 +131,33 @@
<Command.GCC, Command.RVCT>
# For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
- "$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}
<Command.ARMGCC, Command.ARMLINUXGCC, command.XCODE>
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
+[C-Code-File.COMMON.IPF]
+ <InputFile>
+ ?.c
+ ?.C
+ ?.cc
+ ?.CC
+ ?.cpp
+ ?.Cpp
+ ?.CPP
+
+ <ExtraDependency>
+ $(MAKE_FILE)
+
+ <OutputFile>
+ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
+
+ <Command.MSFT, Command.INTEL>
+ "$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src}
+
+ <Command.GCC, Command.RVCT>
+ # For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
+ "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
+ "$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}
[C-Header-File]
<InputFile>