Add build rules for asl file, asm16 file.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3457 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4 2007-07-26 10:26:36 +00:00
parent fafdafb99c
commit 0963b13df5
2 changed files with 53 additions and 15 deletions

View File

@ -7,9 +7,13 @@ FileTypeMapping = {
".CPP" : "C-Code", ".CPP" : "C-Code",
".h" : "C-Header", ".h" : "C-Header",
".H" : "C-Header", ".H" : "C-Header",
".inc" : "Masm-Header",
".asm" : "Masm-Code", ".asm" : "Masm-Code",
".Asm" : "Masm-Code", ".Asm" : "Masm-Code",
".ASM" : "Masm-Code", ".ASM" : "Masm-Code",
".asm16" : "Masm16-Code", #RealAsm16 Link Code
".Asm16" : "Masm16-Code",
".ASM16" : "Masm16-Code",
".s" : "Iasm-Code", # IPF assembly code ".s" : "Iasm-Code", # IPF assembly code
".S" : "Gasm-Code", # GNU assembly code ".S" : "Gasm-Code", # GNU assembly code
".uni" : "Unicode-Text", ".uni" : "Unicode-Text",
@ -57,28 +61,30 @@ ObjectFileMapping = {
"Preprocessed-Code" : ".obj", "Preprocessed-Code" : ".obj",
"Object" : ".dll", "Object" : ".dll",
"Static-Library" : ".dll", "Static-Library" : ".dll",
"Dynamic-Library" : ".efi", "Dynamic-Library" : ".efi",
"Dependency-Expression" : ".depex", "Dependency-Expression" : ".depex",
"Acpi-Source-Language" : ".aml", "Acpi-Source-Language" : ".aml",
"Acpi-Table-Source" : ".acpi", "Acpi-Table-Source" : ".acpi",
"Masm16-Code" : ".com",
} }
DefaultToolCode = ["CC", "ASM", "SLINK", "DLINK", "PCH", "PP", "ASL"] DefaultToolCode = ["CC", "ASM", "SLINK", "DLINK", "PCH", "PP", "ASL", "ASMLINK"]
ToolCodeMapping = { ToolCodeMapping = {
"C-Code" : ["CC"], "C-Code" : ["CC"],
# "C-Header" : ["PCH"], # "C-Header" : ["PCH"],
"Masm-Code" : ["PP", "ASM"], "Masm-Code" : ["PP", "ASM"],
"Iasm-Code" : ["PP", "ASM"], # IPF assembly code "Iasm-Code" : ["PP", "ASM"], # IPF assembly code
"Gasm-Code" : ["ASM"], # GNU assembly code "Gasm-Code" : ["ASM"], # GNU assembly code
"Visual-Form-Representation" : ["PP", "CC"], "Visual-Form-Representation" : ["PP", "CC"],
"Preprocessed-Code" : ["CC"], "Preprocessed-Code" : ["CC"],
"Acpi-Source-Language" : ["ASL"], "Acpi-Source-Language" : ["ASL"],
"Object" : ["SLINK"], "Object" : ["SLINK"],
"Static-Library" : ["DLINK"], "Static-Library" : ["DLINK"],
"Dependency-Expression" : ["PP"], "Dependency-Expression" : ["PP"],
"Acpi-Source-Language" : ["PP", "ASL"], "Acpi-Source-Language" : ["PP", "ASL"],
"Acpi-Table-Source" : ["CC", "DLINK"], "Acpi-Table-Source" : ["CC", "DLINK"],
"Masm16-Code" : ["ASM", "ASMLINK"],
} }
ToolChainFamilyMapping = { ToolChainFamilyMapping = {
@ -96,14 +102,16 @@ ToolChainFamilyMapping = {
"Bmp-Image" : ["MSFT", "INTEL", "GCC"], "Bmp-Image" : ["MSFT", "INTEL", "GCC"],
"Preprocessed-Code" : ["MSFT", "INTEL"], "Preprocessed-Code" : ["MSFT", "INTEL"],
"Acpi-Source-Language" : ["MSFT", "INTEL"], "Acpi-Source-Language" : ["MSFT", "INTEL"],
"Acpi-Table-Source" : ["MSFT", "INTEL"],
"Masm16-Code" : ["MSFT"],
} }
## Build rules for makefile ## Build rules for makefile
# Placeholders for string substitution # Placeholders for string substitution
# ${fpath} File path relative to $(WORKSPACE) # ${fpath} File path relative to $(WORKSPACE)
# ${fdir} File relative directory within a module # ${fdir} File relative directory within a module
# ${fname} File full name without path # ${fname} File full name without path
# ${fbase} File name without extension and path # ${fbase} File name without extension and path
# ${fext} File extension # ${fext} File extension
# ${fdep} File dependencies # ${fdep} File dependencies
# ${_sep_} Directory separator # ${_sep_} Directory separator
@ -112,7 +120,7 @@ ToolChainFamilyMapping = {
# #
Makefile = { Makefile = {
# MSFT tool chain family # MSFT tool chain family
"MSFT" : { "MSFT" : {
"C-Code" : '''\ "C-Code" : '''\
$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS)
${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} ${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep}
@ -149,7 +157,8 @@ ${END}\t"$(PP)" $(VFRPP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep
$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(COMMON_DEPS) $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(COMMON_DEPS)
${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(WORKSPACE)${_sep_}${fdep} ${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(WORKSPACE)${_sep_}${fdep}
${END}\t"$(PP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i ${END}\t"$(PP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i
\t"$(ASL)" /nologo /Fo$@ $(@D)${_sep_}${fbase}.i \t"$(ASL)" -p $@ $(@D)${_sep_}${fbase}.i
\t-copy $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml $(OUTPUT_DIR)${_sep_}${fbase}.aml /Y
''', ''',
"Acpi-Table-Source" : "Acpi-Table-Source" :
@ -157,15 +166,24 @@ ${END}\t"$(PP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}
$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(COMMON_DEPS) $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(COMMON_DEPS)
${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(WORKSPACE)${_sep_}${fdep} ${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(WORKSPACE)${_sep_}${fdep}
${END}\t"$(CC)" /Fo$(@D)${_sep_}${fbase}.obj $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} ${END}\t"$(CC)" /Fo$(@D)${_sep_}${fbase}.obj $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath}
\t"$(DLINK)" /out:$(@D)${_sep_}${fbase}.dll $(DLINK_FLAGS) $(DLINK_SPATH) $(LIBS) \t"$(DLINK)" $(@D)${_sep_}${fbase}.obj /out:$(@D)${_sep_}${fbase}.dll $(DLINK_FLAGS) $(DLINK_SPATH) $(LIBS)
\tGenFw -o $@ -c $(@D)${_sep_}${fbase}.dll \tGenFw -o $@ -c $(@D)${_sep_}${fbase}.dll
\t-copy $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi $(OUTPUT_DIR)${_sep_}${fbase}.acpi /Y
''',
"Masm16-Code" : '''\
$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.com : $(COMMON_DEPS)
\tpushd .
\tcd $(OUTPUT_DIR)${_sep_}${fdir}
\t"$(ASM)" /nologo /omf $(WORKSPACE)${_sep_}${fpath} /Bl"$(ASMLINK)" $(ASMLINK_FLAGS)
\t-copy ${fbase}.com $(OUTPUT_DIR)${_sep_}${fbase}.com /Y & popd
''', ''',
}, },
# #
# INTEL tool chain family # INTEL tool chain family
# #
"INTEL" : { "INTEL" : {
"C-Code" : '''\ "C-Code" : '''\
$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS)
${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} ${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep}
@ -196,6 +214,25 @@ ${END}\t"$(PP)" $(VFRPP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep
\tVfrCompile -od $(DEBUG_DIR)${_sep_}${fdir} $(@D)${_sep_}${fbase}.iii \tVfrCompile -od $(DEBUG_DIR)${_sep_}${fdir} $(@D)${_sep_}${fbase}.iii
\t"$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(DEBUG_DIR)${_sep_}${fdir}${_sep_}${fbase}.c \t"$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(DEBUG_DIR)${_sep_}${fdir}${_sep_}${fbase}.c
''', ''',
"Acpi-Source-Language" :
'''
$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(COMMON_DEPS)
${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(WORKSPACE)${_sep_}${fdep}
${END}\t"$(PP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i
\t"$(ASL)" -p $@ $(@D)${_sep_}${fbase}.i
\t-copy $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml $(OUTPUT_DIR)${_sep_}${fbase}.aml /Y
''',
"Acpi-Table-Source" :
'''
$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(COMMON_DEPS)
${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(WORKSPACE)${_sep_}${fdep}
${END}\t"$(CC)" /Fo$(@D)${_sep_}${fbase}.obj $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath}
\t"$(DLINK)" $(@D)${_sep_}${fbase}.obj /out:$(@D)${_sep_}${fbase}.dll $(DLINK_FLAGS) $(DLINK_SPATH) $(LIBS)
\tGenFw -o $@ -c $(@D)${_sep_}${fbase}.dll
\t-copy $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi $(OUTPUT_DIR)${_sep_}${fbase}.acpi /Y
''',
}, },
# #

View File

@ -851,4 +851,5 @@ RELEASE_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF
################## ##################
*_MYTOOLS_*_ASL_FAMILY = INTEL *_MYTOOLS_*_ASL_FAMILY = INTEL
*_MYTOOLS_*_ASL_NAME = iasl.exe *_MYTOOLS_*_ASL_NAME = iasl.exe
*_MYTOOLS_*_ASL_PATH = C:\ASL DEBUG_MYTOOLS_*_ASL_PATH = C:\ASL
RELEASE_MYTOOLS_*_ASL_PATH = C:\ASL