mirror of https://github.com/acidanthera/audk.git
BaseTools UNIXGCC ELFGCC CYGGCC: clone GCC build rule family into GCCLD
Before we can make non-backward compatible changes to the GCC build rules regarding the use of the 'gcc' binary as the linker, clone the existing GCC build rules into a 'GCCLD' build rule family, and move the legacy toolchains UNIXGCC, CYGGCC, CYGGCCxASL and ELFGCC over to it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
ff54bcdf2e
commit
befb3ba515
|
@ -130,7 +130,7 @@
|
||||||
<Command.MSFT, Command.INTEL>
|
<Command.MSFT, Command.INTEL>
|
||||||
"$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src}
|
"$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src}
|
||||||
|
|
||||||
<Command.GCC, Command.RVCT>
|
<Command.GCC, Command.GCCLD, Command.RVCT>
|
||||||
# For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
|
# For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
|
||||||
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
|
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@
|
||||||
<Command.MSFT, Command.INTEL>
|
<Command.MSFT, Command.INTEL>
|
||||||
"$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src}
|
"$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src}
|
||||||
|
|
||||||
<Command.GCC, Command.RVCT>
|
<Command.GCC, Command.GCCLD, Command.RVCT>
|
||||||
# For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
|
# For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
|
||||||
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
|
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
|
||||||
"$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}
|
"$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}
|
||||||
|
@ -171,7 +171,7 @@
|
||||||
<OutputFile>
|
<OutputFile>
|
||||||
$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||||
|
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
"$(CC)" $(CC_FLAGS) $(CC_XIPFLAGS) -o ${dst} $(INC) ${src}
|
"$(CC)" $(CC_FLAGS) $(CC_XIPFLAGS) -o ${dst} $(INC) ${src}
|
||||||
|
|
||||||
[C-Header-File]
|
[C-Header-File]
|
||||||
|
@ -187,7 +187,7 @@
|
||||||
<InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
|
<InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
|
||||||
?.asm, ?.Asm, ?.ASM
|
?.asm, ?.Asm, ?.ASM
|
||||||
|
|
||||||
<InputFile.GCC>
|
<InputFile.GCC, InputFile.GCCLD>
|
||||||
?.S, ?.s
|
?.S, ?.s
|
||||||
|
|
||||||
<ExtraDependency>
|
<ExtraDependency>
|
||||||
|
@ -201,7 +201,7 @@
|
||||||
Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}.iii ${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
|
"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii
|
||||||
|
|
||||||
<Command.GCC, Command.RVCT>
|
<Command.GCC, Command.GCCLD, Command.RVCT>
|
||||||
"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i
|
"$(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
|
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
|
# For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues
|
||||||
|
@ -265,7 +265,7 @@
|
||||||
<Command.MSFT, Command.INTEL>
|
<Command.MSFT, Command.INTEL>
|
||||||
"$(SLINK)" $(SLINK_FLAGS) /OUT:${dst} @$(OBJECT_FILES_LIST)
|
"$(SLINK)" $(SLINK_FLAGS) /OUT:${dst} @$(OBJECT_FILES_LIST)
|
||||||
|
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
"$(SLINK)" -cr ${dst} $(SLINK_FLAGS) @$(OBJECT_FILES_LIST)
|
"$(SLINK)" -cr ${dst} $(SLINK_FLAGS) @$(OBJECT_FILES_LIST)
|
||||||
|
|
||||||
<Command.RVCT>
|
<Command.RVCT>
|
||||||
|
@ -291,7 +291,7 @@
|
||||||
<Command.MSFT, Command.INTEL>
|
<Command.MSFT, Command.INTEL>
|
||||||
"$(DLINK)" /OUT:${dst} $(DLINK_FLAGS) $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST)
|
"$(DLINK)" /OUT:${dst} $(DLINK_FLAGS) $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST)
|
||||||
|
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
"$(DLINK)" -o ${dst} $(DLINK_FLAGS) --start-group $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS)
|
"$(DLINK)" -o ${dst} $(DLINK_FLAGS) --start-group $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS)
|
||||||
"$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}
|
"$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}
|
||||||
|
|
||||||
|
@ -319,7 +319,7 @@
|
||||||
<Command.MSFT, Command.INTEL>
|
<Command.MSFT, Command.INTEL>
|
||||||
"$(DLINK)" $(DLINK_FLAGS) $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST)
|
"$(DLINK)" $(DLINK_FLAGS) $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST)
|
||||||
|
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
"$(DLINK)" $(DLINK_FLAGS) --start-group $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS)
|
"$(DLINK)" $(DLINK_FLAGS) --start-group $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS)
|
||||||
|
|
||||||
<Command.RVCT>
|
<Command.RVCT>
|
||||||
|
@ -346,7 +346,7 @@
|
||||||
$(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
|
$(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
|
||||||
-$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
|
-$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
|
||||||
-$(CP) $(DEBUG_DIR)(+)*.pdb $(OUTPUT_DIR)
|
-$(CP) $(DEBUG_DIR)(+)*.pdb $(OUTPUT_DIR)
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
$(CP) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).debug
|
$(CP) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).debug
|
||||||
$(OBJCOPY) --strip-unneeded -R .eh_frame ${src}
|
$(OBJCOPY) --strip-unneeded -R .eh_frame ${src}
|
||||||
|
|
||||||
|
@ -402,7 +402,7 @@
|
||||||
Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
|
Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
|
||||||
"$(ASL)" $(ASL_FLAGS) $(ASL_OUTFLAGS)${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii
|
"$(ASL)" $(ASL_FLAGS) $(ASL_OUTFLAGS)${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii
|
||||||
|
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i -i $(INC_LIST) ${src}
|
Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i -i $(INC_LIST) ${src}
|
||||||
"$(ASLPP)" $(ASLPP_FLAGS) $(INC) -I${s_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
|
"$(ASLPP)" $(ASLPP_FLAGS) $(INC) -I${s_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
|
||||||
Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
|
Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
|
||||||
|
@ -423,7 +423,7 @@
|
||||||
"$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
"$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||||
"$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)
|
"$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)
|
||||||
|
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
"$(ASLCC)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(INC) ${src}
|
"$(ASLCC)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(INC) ${src}
|
||||||
"$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
"$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||||
"$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)
|
"$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)
|
||||||
|
@ -443,7 +443,7 @@
|
||||||
"$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
"$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||||
"$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)
|
"$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)
|
||||||
|
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
"$(ASLCC)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(INC) ${src}
|
"$(ASLCC)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(INC) ${src}
|
||||||
"$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
"$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||||
"$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)
|
"$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)
|
||||||
|
@ -472,7 +472,7 @@
|
||||||
"$(ASM16)" /nologo /c /omf $(INC) /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj ${d_path}(+)${s_base}.iii
|
"$(ASM16)" /nologo /c /omf $(INC) /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj ${d_path}(+)${s_base}.iii
|
||||||
"$(ASMLINK)" $(ASMLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj,${dst},,,,
|
"$(ASMLINK)" $(ASMLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj,${dst},,,,
|
||||||
|
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i
|
"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i
|
||||||
Trim --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i
|
Trim --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i
|
||||||
"$(ASM)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASM_FLAGS) $(INC) ${d_path}(+)${s_base}.iii
|
"$(ASM)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASM_FLAGS) $(INC) ${d_path}(+)${s_base}.iii
|
||||||
|
@ -596,7 +596,7 @@
|
||||||
"$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiipackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
|
"$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiipackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
|
||||||
"$(RC)" /Fo${dst} $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
|
"$(RC)" /Fo${dst} $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
|
||||||
|
|
||||||
<Command.GCC>
|
<Command.GCC, Command.GCCLD>
|
||||||
"$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
|
"$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
|
||||||
"$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc ${dst}
|
"$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc ${dst}
|
||||||
|
|
||||||
|
|
|
@ -4460,6 +4460,7 @@ DEFINE GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
|
||||||
# UNIXGCC - UNIX GCC
|
# UNIXGCC - UNIX GCC
|
||||||
# ASL - Intel Linux ACPI Source Language Compiler (iasl)
|
# ASL - Intel Linux ACPI Source Language Compiler (iasl)
|
||||||
*_UNIXGCC_*_*_FAMILY = GCC
|
*_UNIXGCC_*_*_FAMILY = GCC
|
||||||
|
*_UNIXGCC_*_*_BUILDRULEFAMILY = GCCLD
|
||||||
|
|
||||||
*_UNIXGCC_*_MAKE_PATH = make
|
*_UNIXGCC_*_MAKE_PATH = make
|
||||||
*_UNIXGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
*_UNIXGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
||||||
|
@ -5268,6 +5269,7 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS)
|
||||||
# CYGGCC - CygWin GCC
|
# CYGGCC - CygWin GCC
|
||||||
# ASL - Intel ACPI Source Language Compiler (iasl.exe)
|
# ASL - Intel ACPI Source Language Compiler (iasl.exe)
|
||||||
*_CYGGCC_*_*_FAMILY = GCC
|
*_CYGGCC_*_*_FAMILY = GCC
|
||||||
|
*_CYGGCC_*_*_BUILDRULEFAMILY = GCCLD
|
||||||
|
|
||||||
*_CYGGCC_*_*_DLL = DEF(CYGWIN_BIN)
|
*_CYGGCC_*_*_DLL = DEF(CYGWIN_BIN)
|
||||||
*_CYGGCC_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe
|
*_CYGGCC_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe
|
||||||
|
@ -5375,6 +5377,7 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS)
|
||||||
# CYGGCCxASL - CygWin GCC
|
# CYGGCCxASL - CygWin GCC
|
||||||
# ASL - Microsoft ACPI Source Language Compiler (asl.exe)
|
# ASL - Microsoft ACPI Source Language Compiler (asl.exe)
|
||||||
*_CYGGCCxASL_*_*_FAMILY = GCC
|
*_CYGGCCxASL_*_*_FAMILY = GCC
|
||||||
|
*_CYGGCCxASL_*_*_BUILDRULEFAMILY = GCCLD
|
||||||
|
|
||||||
*_CYGGCCxASL_*_*_DLL = DEF(CYGWIN_BIN)
|
*_CYGGCCxASL_*_*_DLL = DEF(CYGWIN_BIN)
|
||||||
*_CYGGCCxASL_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe
|
*_CYGGCCxASL_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe
|
||||||
|
@ -5478,6 +5481,7 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS)
|
||||||
####################################################################################
|
####################################################################################
|
||||||
# ELFGCC - Linux ELF GCC
|
# ELFGCC - Linux ELF GCC
|
||||||
*_ELFGCC_*_*_FAMILY = GCC
|
*_ELFGCC_*_*_FAMILY = GCC
|
||||||
|
*_ELFGCC_*_*_BUILDRULEFAMILY = GCCLD
|
||||||
*_ELFGCC_*_MAKE_PATH = make
|
*_ELFGCC_*_MAKE_PATH = make
|
||||||
|
|
||||||
*_ELFGCC_*_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h
|
*_ELFGCC_*_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h
|
||||||
|
|
Loading…
Reference in New Issue