diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index d8c8253983..3e6aa8ff0f 100755 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -238,6 +238,20 @@ # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues "$(ASM)" $(ASM_FLAGS) -o ${dst} ${d_path}(+)${s_base}.iii +[Device-Tree-Source-File] + + ?.dts + + + $(MAKE_FILE) + + + $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dtb + + + "$(PP)" $(DTCPP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i + "$(DTC)" -I dts -O dtb -o ${dst} ${d_path}(+)${s_base}.i + [Visual-Form-Representation-File] ?.vfr diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 6cef0c1b32..ba1d1a16de 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -227,6 +227,8 @@ DEFINE IPHONE_TOOLS = /Developer/Platforms/iPhoneOS.platform/Develope DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G++ Lite/bin +DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc + #################################################################################### # # format: TARGET_TOOLCHAIN_ARCH_COMMANDTYPE_ATTRIBUTE = @@ -4367,6 +4369,7 @@ DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(DEST_DI DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h DEFINE GCC_ASLCC_FLAGS = -x c DEFINE GCC_WINDRES_FLAGS = -J rc -O coff +DEFINE GCC_DTCPP_FLAGS = -E -x assembler-with-cpp -imacros $(DEST_DIR_DEBUG)/AutoGen.h -nostdinc DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --rename-section .data=.hii DEFINE GCC_IPF_RC_FLAGS = -I binary -O elf64-ia64-little -B ia64 --rename-section .data=.hii @@ -4750,6 +4753,7 @@ RELEASE_GCC45_X64_CC_FLAGS = DEF(GCC45_X64_CC_FLAGS) -Os *_GCC46_*_MAKE_PATH = DEF(GCC46_IA32_PREFIX)make *_GCC46_*_*_DLL = ENV(GCC46_DLL) *_GCC46_*_ASL_PATH = DEF(UNIX_IASL_BIN) +*_GCC46_*_DTC_PATH = DEF(DTC_BIN) *_GCC46_*_PP_FLAGS = DEF(GCC_PP_FLAGS) *_GCC46_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) @@ -4838,6 +4842,7 @@ RELEASE_GCC46_X64_CC_FLAGS = DEF(GCC46_X64_CC_FLAGS) -Os -Wno-unused-but-s *_GCC46_ARM_ASM_FLAGS = DEF(GCC46_ARM_ASM_FLAGS) *_GCC46_ARM_DLINK_FLAGS = DEF(GCC46_ARM_DLINK_FLAGS) *_GCC46_ARM_DLINK2_FLAGS = DEF(GCC46_ARM_DLINK2_FLAGS) +*_GCC46_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC46_ARM_PLATFORM_FLAGS = -march=armv7-a *_GCC46_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC46_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) @@ -4859,6 +4864,7 @@ RELEASE_GCC46_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-v *_GCC47_*_MAKE_PATH = DEF(GCC47_IA32_PREFIX)make *_GCC47_*_*_DLL = ENV(GCC47_DLL) *_GCC47_*_ASL_PATH = DEF(UNIX_IASL_BIN) +*_GCC47_*_DTC_PATH = DEF(DTC_BIN) *_GCC47_*_PP_FLAGS = DEF(GCC_PP_FLAGS) *_GCC47_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) @@ -4946,6 +4952,7 @@ RELEASE_GCC47_X64_CC_FLAGS = DEF(GCC47_X64_CC_FLAGS) -Os -Wno-unused-but-s *_GCC47_ARM_ASM_FLAGS = DEF(GCC47_ARM_ASM_FLAGS) *_GCC47_ARM_DLINK_FLAGS = DEF(GCC47_ARM_DLINK_FLAGS) *_GCC47_ARM_DLINK2_FLAGS = DEF(GCC47_ARM_DLINK2_FLAGS) +*_GCC47_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC47_ARM_PLATFORM_FLAGS = -march=armv7-a *_GCC47_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC47_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) @@ -4975,6 +4982,7 @@ RELEASE_GCC47_ARM_CC_FLAGS = DEF(GCC47_ARM_CC_FLAGS) -Wno-unused-but-set-v *_GCC47_AARCH64_ASM_FLAGS = DEF(GCC47_AARCH64_ASM_FLAGS) *_GCC47_AARCH64_DLINK_FLAGS = DEF(GCC47_AARCH64_DLINK_FLAGS) *_GCC47_AARCH64_DLINK2_FLAGS = DEF(GCC47_AARCH64_DLINK2_FLAGS) +*_GCC47_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC47_AARCH64_PLATFORM_FLAGS = *_GCC47_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC47_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) @@ -4996,6 +5004,7 @@ RELEASE_GCC47_AARCH64_CC_FLAGS = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-s *_GCC48_*_MAKE_PATH = DEF(GCC48_IA32_PREFIX)make *_GCC48_*_*_DLL = ENV(GCC48_DLL) *_GCC48_*_ASL_PATH = DEF(UNIX_IASL_BIN) +*_GCC48_*_DTC_PATH = DEF(DTC_BIN) *_GCC48_*_PP_FLAGS = DEF(GCC_PP_FLAGS) *_GCC48_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) @@ -5083,6 +5092,7 @@ RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-s *_GCC48_ARM_ASM_FLAGS = DEF(GCC48_ARM_ASM_FLAGS) *_GCC48_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS) *_GCC48_ARM_DLINK2_FLAGS = DEF(GCC48_ARM_DLINK2_FLAGS) +*_GCC48_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC48_ARM_PLATFORM_FLAGS = -march=armv7-a *_GCC48_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC48_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) @@ -5112,6 +5122,7 @@ RELEASE_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-v *_GCC48_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS) *_GCC48_AARCH64_DLINK_FLAGS = DEF(GCC48_AARCH64_DLINK_FLAGS) *_GCC48_AARCH64_DLINK2_FLAGS = DEF(GCC48_AARCH64_DLINK2_FLAGS) +*_GCC48_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC48_AARCH64_PLATFORM_FLAGS = *_GCC48_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC48_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) @@ -5133,6 +5144,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s *_GCC49_*_MAKE_PATH = DEF(GCC49_IA32_PREFIX)make *_GCC49_*_*_DLL = ENV(GCC49_DLL) *_GCC49_*_ASL_PATH = DEF(UNIX_IASL_BIN) +*_GCC49_*_DTC_PATH = DEF(DTC_BIN) *_GCC49_*_PP_FLAGS = DEF(GCC_PP_FLAGS) *_GCC49_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) @@ -5220,6 +5232,7 @@ RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unused-but-s *_GCC49_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS) *_GCC49_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS) *_GCC49_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS) +*_GCC49_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC49_ARM_PLATFORM_FLAGS = -march=armv7-a *_GCC49_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC49_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) @@ -5248,6 +5261,7 @@ RELEASE_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-v *_GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS) *_GCC49_AARCH64_ASM_FLAGS = DEF(GCC49_AARCH64_ASM_FLAGS) *_GCC49_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS) +*_GCC49_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC49_AARCH64_PLATFORM_FLAGS = *_GCC49_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC49_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) @@ -5276,6 +5290,7 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) *_GCC5_*_MAKE_PATH = DEF(GCC5_IA32_PREFIX)make *_GCC5_*_*_DLL = ENV(GCC5_DLL) *_GCC5_*_ASL_PATH = DEF(UNIX_IASL_BIN) +*_GCC5_*_DTC_PATH = DEF(DTC_BIN) *_GCC5_*_PP_FLAGS = DEF(GCC_PP_FLAGS) *_GCC5_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) @@ -5368,6 +5383,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) +*_GCC5_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC5_ARM_PLATFORM_FLAGS = -march=armv7-a *_GCC5_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC5_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) @@ -5401,6 +5417,7 @@ RELEASE_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKS *_GCC5_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS) *_GCC5_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS) *_GCC5_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS) +*_GCC5_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC5_AARCH64_PLATFORM_FLAGS = *_GCC5_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC5_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) @@ -5430,12 +5447,14 @@ RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(W *_CLANG35_*_MAKE_PATH = make *_CLANG35_*_*_DLL = ENV(CLANG35_DLL) *_CLANG35_*_ASL_PATH = DEF(UNIX_IASL_BIN) +*_CLANG35_*_DTC_PATH = DEF(DTC_BIN) *_CLANG35_*_PP_FLAGS = DEF(GCC_PP_FLAGS) *_CLANG35_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) *_CLANG35_*_APP_FLAGS = *_CLANG35_*_ASL_FLAGS = DEF(IASL_FLAGS) *_CLANG35_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) +*_CLANG35_*_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_CLANG35_*_CC_PATH = ENV(CLANG35_BIN)clang *_CLANG35_*_ASM_PATH = ENV(CLANG35_BIN)clang