]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Conf/build_rule.template
BaseTools: Correct NASM output file type for UNIXGCC and CYGGCC.
[mirror_edk2.git] / BaseTools / Conf / build_rule.template
index 55f56c2a74006986192ec9d4a89b06849f58b108..496fd666b19489ab824a50dabd66d9e2c5d0c019 100644 (file)
         "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}\r
         "$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}\r
 \r
-    <Command.ARMGCC, Command.ARMLINUXGCC>\r
+    <Command.ARMGCC, Command.ARMLINUXGCC, command.XCODE>\r
         "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}\r
 \r
 \r
         # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues\r
         "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii\r
 \r
+[Nasm-Assembly-Code-File.COMMON.COMMON]\r
+    <InputFile>\r
+        ?.nasm, ?.Nasm, ?.NASM\r
+\r
+    <ExtraDependency>\r
+        $(MAKE_FILE)\r
+\r
+    <OutputFile>\r
+        $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj\r
+\r
+    <Command>\r
+        "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i\r
+        Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i\r
+        "$(NASM)" -I${s_path}(+) $(NASM_FLAGS) -o $dst ${d_path}(+)${s_base}.iii\r
+\r
 [Assembly-Code-File.COMMON.IPF]\r
     <InputFile>\r
         ?.s\r
         $(CP) ${dst} $(OUTPUT_DIR)\r
         $(CP) ${dst} $(BIN_DIR)\r
         -$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)\r
-\r
+        -$(CP) $(DEBUG_DIR)(+)*.pdb $(OUTPUT_DIR) \r
     <Command.GCC>\r
         $(CP) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).debug\r
         $(OBJCOPY) --strip-unneeded -R .eh_frame ${src}\r
       \r
 [Masm16-Code-File]\r
     <InputFile>\r
-        ?.asm16, ?.Asm16, ?.ASM16\r
+        ?.asm16, ?.Asm16, ?.ASM16, ?.s16, ?.S16\r
 \r
     <ExtraDependency>\r
         $(MAKE_FILE)\r