]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Conf/build_rule.template
Added tool chain family modifier for source files used only for GCC
[mirror_edk2.git] / BaseTools / Conf / build_rule.template
index 91407f17eb5f0367bf4f7e8201e1a3930d56ee3b..5589a183893f4042e0e6bb3a48672366acbd95e5 100644 (file)
@@ -46,21 +46,20 @@ FileTypeMapping = {
     ".so"   :   "Dynamic-Library",
 }
 
-DefaultToolCode = ["CC", "ASM", "SLINK", "DLINK", "PCH", "PP", "ASL", "VFRC", "AUTOGEN"]
+DefaultToolCode = ["CC", "ASM", "SLINK", "DLINK", "PCH", "PP", "ASL"]
 
 ToolCodeMapping = {
-    "C-Code"                        :   "CC",
-    "C-Header"                      :   "PCH",
-    "Masm-Code"                     :   "ASM",
-    "Iasm-Code"                     :   "ASM",          # IPF assembly code
-    "Gasm-Code"                     :   "ASM",          # GNU assembly code
-    "Unicode-Text"                  :   "AUTOGEN",
-    "Visual-Form-Representation"    :   "VFRC",
-    "Preprocessed-Code"             :   "CC",
-    "Acpi-Source-Language"          :   "ASL",
-    "Object"                        :   "SLINK",
-    "Static-Library"                :   "DLINK",
-       "Dependency-Expression"                 :       "PP",
+    "C-Code"                        :   ["CC"],
+    "C-Header"                      :   ["PCH"],
+    "Masm-Code"                     :   ["PP", "ASM"],
+    "Iasm-Code"                     :   ["PP", "ASM"],      # IPF assembly code
+    "Gasm-Code"                     :   ["ASM"],               # GNU assembly code
+    "Visual-Form-Representation"    :   ["PP", "CC"],
+    "Preprocessed-Code"             :   ["CC"],
+    "Acpi-Source-Language"          :   ["ASL"],
+    "Object"                        :   ["SLINK"],
+    "Static-Library"                :   ["DLINK"],
+    "Dependency-Expression"         :   ["PP"],
 }
 
 ToolChainFamilyMapping = {
@@ -95,7 +94,7 @@ Makefile = {
 "C-Code"    : '''\
 $(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(COMMON_DEPS)
 ${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE)${sep}${fdep}
-${END} "$(CC)" $(CC_FLAGS) $(INC) /Fo$@ $(WORKSPACE)${sep}${fpath}
+${END} "$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(WORKSPACE)${sep}${fpath}
 ''',
 
 "Masm-Code" : '''\
@@ -103,21 +102,25 @@ $(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)" $(ASM_FLAGS) /Fo$@ $(@D)${sep}${fbase}.iii
+       "$(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)" $(ASM_FLAGS) /Fo$@ $(@D)${sep}${fbase}.i
+       "$(ASM)" -o$@ $(ASM_FLAGS) $(@D)${sep}${fbase}.i
 ''',
 
-"Visual-Form-Representation" : 
-'$(OUTPUT_DIR)\\%(fdir)s\\%(fbase)s.obj : $(MODULE_DIR)\\%(fdir)s\\%(fname)s $(DEP_FILES)\n'\
-    '\t"$(PP)" $(PP_FLAGS) $(INC) $< $(PP_OUTPUT)$(@D)\\%(fbase)s.i\n'\
-    '\t"$(VFRC)" $(VFRC_FLAGS) $(INC) $(VFRC_OUTPUT)$(DEBUG_DIR)\\%(fdir)s\\%(fbase)s.c $(@D)\\%(fbase)s.i\n'\
-    '\t"$(CC)" $(CC_FLAGS) $(INC) $(CC_OUTPUT)$@ $(DEBUG_DIR)\\%(fdir)s\\%(fbase)s.c\n',
+"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
+''',
 },
 
 "gmake" : {