diff --git a/build/nandfirm/menu-launcher/ARM9/Makefile b/build/nandfirm/menu-launcher/ARM9/Makefile index f58364d5..a3ebdad1 100644 --- a/build/nandfirm/menu-launcher/ARM9/Makefile +++ b/build/nandfirm/menu-launcher/ARM9/Makefile @@ -26,7 +26,9 @@ LINCLUDES = TARGET_BIN = menu_launcher9.srl -SRCS = main.c +REVISION_SRC = revision.c + +SRCS = main.c $(REVISION_SRC) CRT0_O = crt0_firm.o @@ -48,6 +50,8 @@ LLIBRARIES += libes.TWL$(ARCHGEN_TYPE).a libboc.TWL$(ARCHGEN_TYPE).a \ libsfs$(TWL_LIBSUFFIX).a \ liblcfg$(TWL_LIBSUFFIX).a +LDIRT_CLEAN = $(REVISION_SRC) + #---------------------------------------------------------------------------- do-build: $(TARGETS) @@ -56,4 +60,19 @@ do-build: $(TARGETS) include $(TWL_IPL_RED_ROOT)/build/buildtools/modulerules +#SVNリビジョン埋め込み +$(REVISION_SRC) :: + @if test -e $(TWL_IPL_RED_ROOT)/.svn; then \ + LANG=C svn info $(call empath,$(TWL_IPL_RED_ROOT)) | grep 'Revision' | sed "s|Revision: \(.*\)|const char *g_strIPLSvnRevision = \"\1\";|" > $(REVISION_SRC); \ + else \ + echo "const char *g_strIPLSvnRevision = \"-\";" > $(REVISION_SRC); \ + fi + @if test -e $(ROOT)/.svn; then \ + LANG=C svn info $(call empath,$(ROOT)) | grep 'Revision' | sed "s|Revision: \(.*\)|const char *g_strSDKSvnRevision = \"\1\";|" >> $(REVISION_SRC); \ + else \ + echo "const char *g_strSDKSvnRevision = \"-\";" >> $(REVISION_SRC); \ + fi + + + #===== End of Makefile ===== diff --git a/build/nandfirm/menu-launcher/ARM9/main.c b/build/nandfirm/menu-launcher/ARM9/main.c index 6e8998ca..1c6e6a0d 100644 --- a/build/nandfirm/menu-launcher/ARM9/main.c +++ b/build/nandfirm/menu-launcher/ARM9/main.c @@ -81,12 +81,21 @@ static char* debugPtr = (char*)PRINT_MEMORY_ADDR; FromBootの対応&OS_Init前に必要なメインメモリの初期化 ***************************************************************/ +extern const char *g_strIPLSvnRevision; +extern const char *g_strSDKSvnRevision; static void PreInit(void) { ROM_Header_Short* const rhs = (ROM_Header_Short*)HW_TWL_ROM_HEADER_BUF; + static char buffer[4][8]; // バージョン情報 /* メインメモリ関連 */ + // バージョン埋め込み + MI_CpuClear8( buffer, sizeof(buffer) ); + MI_CpuCopy8( "VERSION", buffer[0], 8 ); + STD_CopyLStringZeroFill( buffer[1], g_strIPLSvnRevision, 8 ); + STD_CopyLStringZeroFill( buffer[2], g_strSDKSvnRevision, 8 ); + MI_CpuCopy8( "VERSION", buffer[3], 8 ); // SHARED領域はスタートアップ時でクリア /* FromBrom関連