X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=BaseTools%2FConf%2Fbuild_rule.template;h=1faf846e385c3849fc5ed7d2a75a44c86d10dd6c;hp=db459d988ba9097dbac3b3afa481c5d02911f1c7;hb=3f94b8e89a145bdecde2adc473f16748a1611998;hpb=8fc4fc3a0e3d10c2093bcdef89cc408980c44f22 diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index db459d988b..1faf846e38 100644 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -60,7 +60,7 @@ ToolCodeMapping = { "Acpi-Source-Language" : "ASL", "Object" : "SLINK", "Static-Library" : "DLINK", - "Dependency-Expression" : "PP", + "Dependency-Expression" : "PP", } ToolChainFamilyMapping = { @@ -82,43 +82,45 @@ ToolChainFamilyMapping = { ## Build rules for makefile # Placeholders for string substitution -# ${fdir} File relative directory within a module +# ${fpath} File path relative to $(WORKSPACE) +# ${fdir} File relative directory within a module # ${fname} File full name without path # ${fbase} File name without extension and path -# ${fext} File extension -# ${dep} Dependency file -# ${sep} Directory separator +# ${fext} File extension +# ${fdep} File dependencies +# ${sep} Directory separator # Makefile = { "nmake" : { "C-Code" : '''\ -${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE)${sep}${dep} -${END} "$(CC)" $(CC_FLAGS) $(INC) /Fo$@ $(MODULE_DIR)${sep}${fdir}${sep}${fname} -''', - -"AutoGen-Code" : '''\ -${BEGIN}$(OUTPUT_DIR)${sep}${fbase}.obj : $(WORKSPACE)${sep}${dep} -${END} "$(CC)" $(CC_FLAGS) $(INC) /Fo$@ $(DEBUG_DIR)${sep}${fname} +$(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} ''', "Masm-Code" : '''\ -${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE)${sep}${dep} -${END} "$(PP)" $(PP_FLAGS) $(INC) $(MODULE_DIR)${sep}${fdir}${sep}${fname} > $(@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} "$(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 ''', "Iasm-Code" : '''\ -${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE)${sep}${dep} -${END} "$(APP)" $(APP_FLAGS) $(INC) $< $(PP_OUTPUT)$(@D)${sep}${fbase}.i - "$(ASM)" $(ASM_FLAGS) $(ASM_OUTPUT)$@ $(@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} "$(APP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${sep}${fpath} > $(@D)${sep}${fbase}.i + "$(ASM)" $(ASM_FLAGS) -o$@ $(@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"$(VFRPP)" $(VFRPP_FLAGS) $(INC) $(WORKSPACE)${sep}${fpath} > $(@D)${sep}${fbase}.i +\tTrim -VFR $(@D)${sep}${fbase}.i +\t"$(VFRC)" $(VFRC_FLAGS) -od $(DEBUG_DIR)${sep}${fdir} $(@D)${sep}${fbase}.iii +\t"$(CC)" $(CC_FLAGS) $(INC) /Fo$@ $(DEBUG_DIR)${sep}${fdir}${sep}${fbase}.c +''', }, "gmake" : {