ToolCodeMapping = {
"C-Code" : ["CC"],
- "C-Header" : ["PCH"],
+# "C-Header" : ["PCH"],
"Masm-Code" : ["PP", "ASM"],
"Iasm-Code" : ["PP", "ASM"], # IPF assembly code
"Gasm-Code" : ["ASM"], # GNU assembly code
# ${fbase} File name without extension and path
# ${fext} File extension
# ${fdep} File dependencies
-# ${sep} Directory separator
+# ${_sep_} Directory separator
+# ${_of_} Output flag
+# ${_if_} Include flag
#
Makefile = {
-"nmake" : {
+"MSFT" : {
"C-Code" : '''\
-$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(COMMON_DEPS)
-${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE)${sep}${fdep}
-${END} "$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(WORKSPACE)${sep}${fpath}
+$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS)
+${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep}
+${END}\t"$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath}
''',
"Masm-Code" : '''\
-$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(COMMON_DEPS)
-${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE)${sep}${fdep}
-${END} "$(PP)" $(PP_FLAGS) $(INC) $(WORKSPACE)${sep}${fpath} > $(@D)${sep}${fbase}.i
- Trim -CONVERT $(@D)${sep}${fbase}.i
- "$(ASM)" /Fo$@ $(ASM_FLAGS) $(INC) $(@D)${sep}${fbase}.iii
+$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS)
+${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep}
+${END}\t"$(PP)" $(PP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i
+\tTrim -CONVERT $(@D)${_sep_}${fbase}.i
+\t"$(ASM)" /Fo$@ $(ASM_FLAGS) $(INC) $(@D)${_sep_}${fbase}.iii
''',
"Iasm-Code" : '''\
-$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(COMMON_DEPS)
-${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE)${sep}${fdep}
-${END} "$(APP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${sep}${fpath} > $(@D)${sep}${fbase}.i
- "$(ASM)" -o$@ $(ASM_FLAGS) $(@D)${sep}${fbase}.i
+$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS)
+${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep}
+${END}\t"$(APP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i
+\t"$(ASM)" -o $@ $(ASM_FLAGS) $(@D)${_sep_}${fbase}.i
''',
"Visual-Form-Representation" : '''\
-$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(COMMON_DEPS)
-${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE)${sep}${fdep}
-${END}\t"$(PP)" $(VFRPP_FLAGS) $(INC) $(WORKSPACE)${sep}${fpath} > $(@D)${sep}${fbase}.i
-\tTrim -VFR $(@D)${sep}${fbase}.i
-\t-mkdir $(DEBUG_DIR)${sep}${fdir} > NUL 2>&1
-\tVfrCompile -od $(DEBUG_DIR)${sep}${fdir} $(@D)${sep}${fbase}.iii
-\t"$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(DEBUG_DIR)${sep}${fdir}${sep}${fbase}.c
+$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS)
+${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep}
+${END}\t"$(PP)" $(VFRPP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i
+\tTrim -VFR $(@D)${_sep_}${fbase}.i
+\t-mkdir $(DEBUG_DIR)${_sep_}${fdir} > NUL 2>&1
+\tVfrCompile -od $(DEBUG_DIR)${_sep_}${fdir} $(@D)${_sep_}${fbase}.iii
+\t"$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(DEBUG_DIR)${_sep_}${fdir}${_sep_}${fbase}.c
''',
},
-"gmake" : {
+
+"GCC" : {
+
"C-Code" :
-'''$(OUTPUT_DIR)/%(fdir)s/%(fbase)s.obj : $(MODULE_DIR)/%(fdir)s/%(fname)s $(DEP_FILES)
-\t"$(CC)" $(CC_FLAGS) $(INC) $(CC_OUTPUT)$@ $<''',
-
-"Masm-Code" :
-'''$(OUTPUT_DIR)/%(fdir)s/%(fbase)s.obj : $(MODULE_DIR)/%(fdir)s/%(fname)s $(DEP_FILES)
-\t"$(PP)" $(PP_FLAGS) $(INC) $? $(PP_OUTPUT)$(@D)/%(fbase)s.i
-\tTrim -CONVERT $(@D)/%(fbase)s.i
-\t"$(ASM)" $(ASM_FLAGS) $(ASM_OUTPUT)$@ $(@D)/%(fbase)s.iii''',
-
-"Gasm-Code" :
-'''$(OUTPUT_DIR)/%(fdir)s/%(fbase)s.obj : $(MODULE_DIR)/%(fdir)s/%(fname)s $(DEP_FILES)
-\t"$(ASM)" $(ASM_FLAGS) $(INC) $(ASM_OUTPUT)$@ $<''',
+'''
+$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS)
+${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep}
+${END}\t"$(CC)" -o $@ $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath}
+''',
-"Iasm-Code" :
-'''$(OUTPUT_DIR)/%(fdir)s/%(fbase)s.obj : $(MODULE_DIR)/%(fdir)s/%(fname)s $(DEP_FILES)
-\t"$(APP)" $(APP_FLAGS) $(INC) $< $(PP_OUTPUT)$(@D)/%(fbase)s.i
-\t"$(ASM)" $(ASM_FLAGS) $(ASM_OUTPUT)$@ $(@D)/%(fbase)s.i''',
+"Gasm-Code" :
+'''
+$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS)
+${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep}
+${END}\t"$(ASM)" -o $@ $(ASM_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath}
+''',
"Visual-Form-Representation" :
-'''$(OUTPUT_DIR)/%(fdir)s/%(fbase)s.obj : $(MODULE_DIR)/%(fdir)s/%(fname)s $(DEP_FILES)
-\t"$(PP)" $(PP_FLAGS) $(INC) $< $(PP_OUTPUT)$(@D)/%(fbase)s.i
-\t"$(VFRC)" $(VFRC_FLAGS) $(INC) $(VFRC_OUTPUT)$(DEBUG_DIR)/%(fdir)s/%(fbase)s.c $(@D)/%(fbase)s.i
-\t"$(CC)" $(CC_FLAGS) $(INC) $(CC_OUTPUT)$@ $(DEBUG_DIR)/%(fdir)s/%(fbase)s.c''',
+'''
+$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS)
+${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep}
+${END}\t"$(PP)" $(VFRPP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} -o $(@D)${_sep_}${fbase}.i
+\tTrim -VFR $(@D)${_sep_}${fbase}.i
+\t-mkdir $(DEBUG_DIR)${_sep_}${fdir} > NUL 2>&1
+\tVfrCompile -od $(DEBUG_DIR)${_sep_}${fdir} $(@D)${_sep_}${fbase}.iii
+\t"$(CC)" -o $@ $(CC_FLAGS) $(INC) $(DEBUG_DIR)${_sep_}${fdir}${_sep_}${fbase}.c
+''',
}
}
*_VS2003_IA32_APP_NAME = cl.exe\r
*_VS2003_IA32_PP_NAME = cl.exe\r
*_VS2003_IA32_ASM_NAME = ml.exe\r
-*_VS2003_IA32_ASM_EXT = .asm\r
*_VS2003_IA32_PCH_NAME = cl.exe\r
\r
##################\r
# IA32 definitions\r
##################\r
*_WINDDK3790x1830_IA32_ASM_NAME = ml.exe\r
-*_WINDDK3790x1830_IA32_ASM_EXT = .asm\r
*_WINDDK3790x1830_IA32_*_PATH = C:\WINDDK\3790.1830\bin\x86\r
*_WINDDK3790x1830_IA32_*_DPATH = C:\WINDDK\3790.1830\bin\x86\r
*_WINDDK3790x1830_IA32_ASMLINK_PATH = C:\WINDDK\3790.1830\bin\bin16\\r
# x64 definitions\r
##################\r
*_WINDDK3790x1830_X64_ASM_NAME = ml64.exe\r
-*_WINDDK3790x1830_X64_ASM_EXT = .asm\r
*_WINDDK3790x1830_X64_*_PATH = C:\WINDDK\3790.1830\bin\win64\x86\amd64\r
*_WINDDK3790x1830_X64_ASMLINK_PATH = C:\WINDDK\3790.1830\bin\bin16\\r
\r
# IPF definitions\r
##################\r
*_WINDDK3790x1830_IPF_ASM_NAME = ias.exe\r
-*_WINDDK3790x1830_IPF_ASM_EXT = .s\r
*_WINDDK3790x1830_IPF_*_PATH = C:\WINDDK\3790.1830\bin\win64\x86\r
\r
*_WINDDK3790x1830_IPF_PP_FLAGS = /nologo /E /TC /FI$(DEST_DIR_DEBUG)/AutoGen.h\r
# IA32 definitions\r
##################\r
#*_VS2005EXP_IA32_ASM_NAME = ml.exe\r
-#*_VS2005EXP_IA32_ASM_EXT = .asm\r
#*_VS2005EXP_IA32_*_PATH = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\r
#*_VS2005EXP_IA32_*_DPATH = C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\r
#*_VS2005EXP_IA32_ASM_PATH = C:\WINDDK\3790.1830\bin\x86\r
# IA32 definitions\r
##################\r
#*_VS2005STD_IA32_ASM_NAME = ml.exe\r
-#*_VS2005STD_IA32_ASM_EXT = .asm\r
#*_VS2005STD_IA32_*_PATH = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\r
#*_VS2005STD_IA32_*_DPATH = C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\r
#*_VS2005STD_IA32_ASM_PATH = C:\WINDDK\3790.1830\bin\x86\r
# IA32 definitions\r
##################\r
*_VS2005PRO_IA32_ASM_NAME = ml.exe\r
-*_VS2005PRO_IA32_ASM_EXT = .asm\r
*_VS2005PRO_IA32_*_PATH = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\r
*_VS2005PRO_IA32_*_DPATH = C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\r
*_VS2005PRO_IA32_ASM_PATH = C:\WINDDK\3790.1830\bin\x86\r
# x64 definitions\r
##################\r
*_VS2005PRO_X64_ASM_NAME = ml64.exe\r
-*_VS2005PRO_X64_ASM_EXT = .asm\r
*_VS2005PRO_X64_*_PATH = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\x86_amd64\r
*_VS2005PRO_X64_*_DPATH = C:\Program Files\Microsoft Visual Studio 8\VC\bin\x86_amd64;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\r
*_VS2005PRO_X64_ASMLINK_PATH = C:\WINDDK\3790.1830\bin\bin16\\r
# IA32 definitions\r
##################\r
#*_VS2005TEAMSUITE_IA32_ASM_NAME = ml.exe\r
-#*_VS2005TEAMSUITE_IA32_ASM_EXT = .asm\r
#*_VS2005TEAMSUITE_IA32_*_PATH = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\r
#*_VS2005TEAMSUITE_IA32_*_DPATH = C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\r
#*_VS2005TEAMSUITE_IA32_ASM_PATH = C:\WINDDK\3790.1830\bin\x86\r
# x64 definitions\r
##################\r
#*_VS2005TEAMSUITE_X64_ASM_NAME = ml64.exe\r
-#*_VS2005TEAMSUITE_X64_ASM_EXT = .asm\r
#*_VS2005TEAMSUITE_X64_*_PATH = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\x86_amd64\r
#*_VS2005TEAMSUITE_X64_*_DPATH = C:\Program Files\Microsoft Visual Studio 8\VC\bin\x86_amd64;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\r
#*_VS2005TEAMSUITE_X64_ASMLINK_PATH = C:\WINDDK\3790.1830\bin\bin16\\r
# IPF definitions\r
##################\r
#*_VS2005TEAMSUITE_IPF_ASM_NAME = ias.exe\r
-#*_VS2005TEAMSUITE_IPF_ASM_EXT = .s\r
#*_VS2005TEAMSUITE_IPF_*_PATH = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\r
#*_VS2005TEAMSUITE_IPF_*_DPATH = C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\r
\r
*_UNIXGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include $(DEST_DIR_DEBUG)/AutoGen.h -D_EFI_P64\r
\r
*_UNIXGCC_*_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _$(ENTRYPOINT) --file-alignment 0x20 --section-alignment 0x20\r
-*_UNIXGCC_*_ASM_FLAGS = -c -imacros $(DEST_DIR_DEBUG)/AutoGen.h -DASM_PFX(name)=_##name\r
+*_UNIXGCC_*_ASM_FLAGS = -c -imacros $(DEST_DIR_DEBUG)/AutoGen.h\r
*_UNIXGCC_*_PP_FLAGS = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
*_UNIXGCC_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include AutoGen.h\r
-*_UNIXGCC_*_ASM_EXT = .S\r
\r
\r
####################################################################################\r
\r
*_CYGWINGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include $(DEST_DIR_DEBUG)/AutoGen.h -D_EFI_P64\r
*_CYGWINGCC_*_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _$(ENTRYPOINT) --file-alignment 0x20 --section-alignment 0x20\r
-*_CYGWINGCC_*_ASM_FLAGS = -c -imacros $(DEST_DIR_DEBUG)/AutoGen.h -DASM_PFX(name)=_##name\r
+*_CYGWINGCC_*_ASM_FLAGS = -c -imacros $(DEST_DIR_DEBUG)/AutoGen.h\r
*_CYGWINGCC_*_PP_FLAGS = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
*_CYGWINGCC_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include AutoGen.h\r
-*_CYGWINGCC_*_ASM_EXT = .S\r
\r
*_CYGWINGCC_*_*_DPATH = c:/Cygwin/bin\r
\r
\r
*_ELFGCC_IA32_CC_FLAGS = -m32 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings\r
*_ELFGCC_*_DLINK_FLAGS = -melf_i386 -nostdlib -n -q -Ttext 0x220 --entry $(ENTRYPOINT) -u $(ENTRYPOINT)\r
-*_ELFGCC_*_ASM_FLAGS = -m32 -c -imacros $(DEST_DIR_DEBUG)/AutoGen.h -DASM_PFX(name)=name\r
+*_ELFGCC_*_ASM_FLAGS = -m32 -c -imacros $(DEST_DIR_DEBUG)/AutoGen.h\r
*_ELFGCC_*_PP_FLAGS = -m32 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
*_ELFGCC_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include AutoGen.h\r
-*_ELFGCC_*_ASM_EXT = .S\r
\r
*_ELFGCC_IA32_*_PATH = /usr/bin\r
\r
##################\r
*_ICC_IA32_*_PATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\r
*_ICC_IA32_PCH_NAME = cl.exe\r
-*_ICC_IA32_ASM_EXT = .asm\r
*_ICC_IA32_*_DPATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\r
*_ICC_IA32_ASMLINK_PATH = C:\WINDDK\3790.1830\bin\bin16\\r
\r
#*_ICC_IPF_PCH_NAME = icl.exe\r
*_ICC_IPF_APP_NAME = icl.exe\r
*_ICC_IPF_ASM_NAME = ias.exe\r
-*_ICC_IPF_ASM_EXT = .s\r
\r
*_ICC_IPF_APP_FLAGS = /nologo /E /TC\r
*_ICC_IPF_PP_FLAGS = /nologo /E /TC /FI$(DEST_DIR_DEBUG)/AutoGen.h\r
\r
*_MYTOOLS_*_LZMA_NAME = Lzma.bat\r
*_MYTOOLS_*_LZMA_GUID = EE4E5898-3914-4259-9D6E-DC7B-D79403CF\r
-*_MYTOOLS_*_LAMA_PATH =\r
+*_MYTOOLS_*_LZMA_PATH =\r
\r
*_MYTOOLS_*_TIANO_NAME = Tiano.bat\r
*_MYTOOLS_*_TIANO_GUID = A31280AD-481E-41B6-95E8-127F-4C984779\r
# IA32 definitions\r
##################\r
*_MYTOOLS_IA32_PCH_NAME = cl.exe\r
-*_MYTOOLS_IA32_ASM_EXT = .asm\r
\r
*_MYTOOLS_IA32_*_PATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\r
*_MYTOOLS_IA32_*_DPATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\r
##################\r
*_MYTOOLS_X64_PCH_NAME = cl.exe\r
*_MYTOOLS_X64_ASM_NAME = ml64.exe\r
-*_MYTOOLS_X64_ASM_EXT = .asm\r
\r
*_MYTOOLS_X64_*_PATH = C:\WINDDK\3790.1830\bin\win64\x86\amd64\r
*_MYTOOLS_X64_ASMLINK_PATH = C:\WINDDK\3790.1830\bin\bin16\\r
##################\r
*_MYTOOLS_IPF_PCH_NAME = cl.exe\r
*_MYTOOLS_IPF_ASM_NAME = ias.exe\r
-*_MYTOOLS_IPF_ASM_EXT = .s\r
+*_MYTOOLS_IPF_ASM_OUTPUT = "-o "\r
\r
*_MYTOOLS_IPF_*_PATH = C:\WINDDK\3790.1830\bin\win64\x86\r
\r