[edk2-devel] [Patch 3/4] BaseTools: Update build_rule.txt to generate dependent files.
From: "Feng, Bob C" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2311 Enable the dependent files generation function for compilers and Trim tool. Cc: Liming Gao Cc: Steven Shi Signed-off-by: Bob Feng --- BaseTools/Conf/build_rule.template | 94 +- 1 file changed, 52 insertions(+), 42 deletions(-) diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index 3a58ac8015e0..00d31d0022fa 100755 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -121,18 +121,18 @@ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj -"$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src} +"$(CC)" /Fo${dst} $(DEPS_FLAGS) $(CC_FLAGS) $(INC) ${src} # For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues -"$(CC)" $(CC_FLAGS) -c -o ${dst} $(INC) ${src} +"$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) -c -o ${dst} $(INC) ${src} -"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src} +"$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) -o ${dst} $(INC) ${src} [C-Code-File.BASE.AARCH64,C-Code-File.SEC.AARCH64,C-Code-File.PEI_CORE.AARCH64,C-Code-File.PEIM.AARCH64,C-Code-File.BASE.ARM,C-Code-File.SEC.ARM,C-Code-File.PEI_CORE.ARM,C-Code-File.PEIM.ARM] ?.c @@ -165,19 +165,21 @@ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i -"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii +"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}. -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --trim-long --source-code -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues -"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii +"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}. [Assembly-Code-File.COMMON.ARM,Assembly-Code-File.COMMON.AARCH64] # Remove --convert-hex for ARM as it breaks MSFT assemblers ?.asm, ?.Asm, ?.ASM @@ -190,24 +192,27 @@ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i -"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii +"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}. -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i -"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --source-code --trim-long -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii +"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}. -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --trim-long --source-code -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues -"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii +"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}. [Nasm-Assembly-Code-File.COMMON.COMMON] ?.nasm @@ -216,12 +221,13 @@ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj -"$(PP)" $(PP_FLAGS)
[edk2-devel] [Patch 3/4] BaseTools: Update build_rule.txt to generate dependent files.
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2311 Enable the dependent files generation function for compilers and Trim tool. Cc: Liming Gao Cc: Steven Shi Signed-off-by: Bob Feng --- BaseTools/Conf/build_rule.template | 94 +- 1 file changed, 52 insertions(+), 42 deletions(-) diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index 3a58ac8015e0..00d31d0022fa 100755 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -121,18 +121,18 @@ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj -"$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src} +"$(CC)" /Fo${dst} $(DEPS_FLAGS) $(CC_FLAGS) $(INC) ${src} # For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues -"$(CC)" $(CC_FLAGS) -c -o ${dst} $(INC) ${src} +"$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) -c -o ${dst} $(INC) ${src} -"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src} +"$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) -o ${dst} $(INC) ${src} [C-Code-File.BASE.AARCH64,C-Code-File.SEC.AARCH64,C-Code-File.PEI_CORE.AARCH64,C-Code-File.PEIM.AARCH64,C-Code-File.BASE.ARM,C-Code-File.SEC.ARM,C-Code-File.PEI_CORE.ARM,C-Code-File.PEIM.ARM] ?.c @@ -165,19 +165,21 @@ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i -"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii +"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}. -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --trim-long --source-code -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues -"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii +"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}. [Assembly-Code-File.COMMON.ARM,Assembly-Code-File.COMMON.AARCH64] # Remove --convert-hex for ARM as it breaks MSFT assemblers ?.asm, ?.Asm, ?.ASM @@ -190,24 +192,27 @@ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i -"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii +"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}. -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i -"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}.iii +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --source-code --trim-long -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii +"$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s_base}. -"$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i -Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i +Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} +"$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.ii +Trim --trim-long --source-code -o ${d_path}(+)${s_base}. ${d_path}(+)${s_base}.ii # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues -"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii +"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}. [Nasm-Assembly-Code-File.COMMON.COMMON] ?.nasm @@ -216,12 +221,13 @@ $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj -"$(PP)" $(PP_FLAGS) $(INC) ${src} >