diff options
author | jwang36 <jwang36@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-10-16 12:17:53 +0000 |
---|---|---|
committer | jwang36 <jwang36@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-10-16 12:17:53 +0000 |
commit | 30311cfc7a82f827aa04e438882a0d3f981314ac (patch) | |
tree | 1762dd7b475058496d8e2d5aa449caa077a71c75 | |
parent | cb33842e8a21547d6f695aec0cf3173ddd6a13cc (diff) | |
download | edk2-30311cfc7a82f827aa04e438882a0d3f981314ac.zip edk2-30311cfc7a82f827aa04e438882a0d3f981314ac.tar.gz edk2-30311cfc7a82f827aa04e438882a0d3f981314ac.tar.bz2 |
Solved the VS2005 assembler issue in which "/omf" switch cannot call linker.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4132 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | BaseTools/Conf/build_rule.template | 7 | ||||
-rw-r--r-- | BaseTools/Conf/tools_def.template | 15 |
2 files changed, 10 insertions, 12 deletions
diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index 19ed2a8..5c22a0b 100644 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -262,13 +262,12 @@ ?.asm16, ?.Asm16, ?.ASM16
<OutputFile>
- $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.com
+ $(OUTPUT_DIR)(+)${s_base}.com
<Command.MSFT, Command.INTEL>
- pushd .
cd $(OUTPUT_DIR)(+)${s_dir}
- "$(ASM)" /nologo /omf ${src} /Bl"$(ASMLINK)" $(ASMLINK_FLAGS)
- -$(CP) ${dst} $(OUTPUT_DIR) & popd
+ "$(ASM)" /nologo /c /omf /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj ${src}
+ "$(ASMLINK)" $(ASMLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj,${dst},,,,
[Build.Microcode-File]
<InputFile>
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index f9ad478..b099e0e 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -123,7 +123,7 @@ DEFINE ASL_BIN = C:\ASL *_VS2003_IA32_VFRPP_PATH = DEF(VSNET2003_BIN)\cl.exe
*_VS2003_IA32_SLINK_PATH = DEF(VSNET2003_BIN)\lib.exe
*_VS2003_IA32_DLINK_PATH = DEF(VSNET2003_BIN)\link.exe
-*_VS2003_IA32_ASMLINK_PATH = DEF(VSNET2003_BIN)\link.exe
+*_VS2003_IA32_ASMLINK_PATH = DEF(WINDDK_BIN16)\link.exe
*_VS2003_IA32_APP_PATH = DEF(VSNET2003_BIN)\cl.exe
*_VS2003_IA32_PP_PATH = DEF(VSNET2003_BIN)\cl.exe
*_VS2003_IA32_ASM_PATH = DEF(VSNET2003_BIN)\ml.exe
@@ -171,7 +171,7 @@ RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005PRO_IA32_VFRPP_PATH = DEF(VS2005PRO_BIN)\cl.exe
*_VS2005PRO_IA32_SLINK_PATH = DEF(VS2005PRO_BIN)\lib.exe
*_VS2005PRO_IA32_DLINK_PATH = DEF(VS2005PRO_BIN)\link.exe
-*_VS2005PRO_IA32_ASMLINK_PATH = DEF(VS2005PRO_BIN)\link.exe
+*_VS2005PRO_IA32_ASMLINK_PATH = DEF(WINDDK_BIN16)\link.exe
*_VS2005PRO_IA32_APP_PATH = DEF(VS2005PRO_BIN)\cl.exe
*_VS2005PRO_IA32_PP_PATH = DEF(VS2005PRO_BIN)\cl.exe
*_VS2005PRO_IA32_ASM_PATH = DEF(VS2005PRO_BIN)\ml.exe
@@ -182,7 +182,7 @@ RELEASE_VS2005PRO_IA32_CC_FLAGS = /GS- /nologo /W4 /WX /Gy /c /D UNICOD RELEASE_VS2005PRO_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0
DEBUG_VS2005PRO_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(ENTRYPOINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005PRO_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(ENTRYPOINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
-*_VS2005PRO_IA32_ASMLINK_FLAGS = /link /nologo /tiny
+ *_VS2005PRO_IA32_ASMLINK_FLAGS = /nologo /tiny
##################
# X64 definitions
@@ -231,7 +231,7 @@ RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005TEAMSUITE_IA32_VFRPP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe
*_VS2005TEAMSUITE_IA32_SLINK_PATH = DEF(VS2005TEAMSUITE_BIN)\lib.exe
*_VS2005TEAMSUITE_IA32_DLINK_PATH = DEF(VS2005TEAMSUITE_BIN)\link.exe
-*_VS2005TEAMSUITE_IA32_ASMLINK_PATH = DEF(VS2005TEAMSUITE_BIN)\link.exe
+*_VS2005TEAMSUITE_IA32_ASMLINK_PATH = DEF(WINDDK_BIN16)\link.exe
*_VS2005TEAMSUITE_IA32_APP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe
*_VS2005TEAMSUITE_IA32_PP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe
*_VS2005TEAMSUITE_IA32_ASM_PATH = DEF(VS2005TEAMSUITE_BIN)\ml.exe
@@ -243,7 +243,7 @@ RELEASE_VS2005TEAMSUITE_IA32_CC_FLAGS = /GS- /nologo /W4 /WX /Gy /c /D UNICOD RELEASE_VS2005TEAMSUITE_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0
DEBUG_VS2005TEAMSUITE_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(ENTRYPOINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005TEAMSUITE_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(ENTRYPOINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
- *_VS2005TEAMSUITE_IA32_ASMLINK_FLAGS= /link /nologo /tiny
+ *_VS2005TEAMSUITE_IA32_ASMLINK_FLAGS= /nologo /tiny
##################
# X64 definitions
@@ -257,7 +257,6 @@ RELEASE_VS2005TEAMSUITE_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005TEAMSUITE_X64_ASM_PATH = DEF(VS2005TEAMSUITE_BINX64)\ml64.exe
*_VS2005TEAMSUITE_X64_SLINK_PATH = DEF(VS2005TEAMSUITE_BINX64)\lib.exe
*_VS2005TEAMSUITE_X64_DLINK_PATH = DEF(VS2005TEAMSUITE_BINX64)\link.exe
-*_VS2005TEAMSUITE_X64_ASMLINK_PATH = DEF(VS2005TEAMSUITE_BINX64)\link.exe
DEBUG_VS2005TEAMSUITE_X64_CC_FLAGS = /nologo /X /W4 /WX /c /Gs8192 /GS- /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GF /Zi /Gm
RELEASE_VS2005TEAMSUITE_X64_CC_FLAGS = /nologo /X /W4 /WX /c /Gs8192 /GS- /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GF
@@ -328,7 +327,7 @@ RELEASE_WINDDK3790x1830_IA32_PCH_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /O1 RELEASE_WINDDK3790x1830_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0
DEBUG_WINDDK3790x1830_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(ENTRYPOINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_WINDDK3790x1830_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(ENTRYPOINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
- *_WINDDK3790x1830_IA32_ASMLINK_FLAGS = /link /nologo /tiny
+ *_WINDDK3790x1830_IA32_ASMLINK_FLAGS = /nologo /tiny
##################
# x64 definitions
@@ -670,7 +669,7 @@ RELEASE_MYTOOLS_IA32_CC_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /O1 RELEASE_MYTOOLS_IA32_PCH_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /O1ib2 /GL /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Fp$(DEST_DIR_OUTPUT)/AutoGen.h.gch /Yc /TC
DEBUG_MYTOOLS_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi
RELEASE_MYTOOLS_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0
- *_MYTOOLS_IA32_ASMLINK_FLAGS = /link /nologo /tiny
+ *_MYTOOLS_IA32_ASMLINK_FLAGS = /nologo /tiny
*_MYTOOLS_IA32_SLINK_FLAGS = /nologo /LTCG
DEBUG_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(ENTRYPOINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb
RELEASE_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(ENTRYPOINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb
|