diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index c1c0d4cca6..55f56c2a74 100644 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -440,6 +440,22 @@ otool -t $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.slib | hex2bin.py ${dst} +[Nasm-to-Binary-Code-File] + + ?.nasmb, ?.NASMB + + + $(MAKE_FILE) + + + $(OUTPUT_DIR)(+)${s_base}.bin + + + "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i + Trim --source-code --convert-hex -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i + "$(NASM)" -I${s_path}(+) -l ${d_path}(+)${s_base}.lst $(NASMB_FLAGS) -o $dst ${d_path}(+)${s_base}.iii + + [Microcode-File.USER_DEFINED, Microcode-File.Microcode] ?.txt, ?.TXT, ?.Txt, ?.mut, ?.inc diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 1dae59a51a..a7b507d8ea 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -668,6 +668,15 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G #################################################################################### #################################################################################### # +# Other Supported Tools +# ===================== +# NASM 2.0.3 http://www.nasm.us/ +# Note: Converts NASM source to .bin. Object linking to +# EDK II driver modules is not currently supported. +# +#################################################################################### +#################################################################################### +# # Intel EFI Byte Code Compiler (Template) # #################################################################################### @@ -6571,3 +6580,9 @@ RELEASE_ARMLINUXGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC *_*_*_VPDTOOL_PATH = BPDG *_*_*_VPDTOOL_GUID = 8C3D856A-9BE6-468E-850A-24F7A8D38E08 +################## +# NASM tool definitions +################## +*_*_*_NASM_PATH = ENV(NASM_PREFIX)nasm +# NASMB uses NASM produce a .bin from a .nasmb NASM source file +*_*_*_NASMB_FLAGS = -f bin