打印

为MTK软件编译添加一个自动编译计数

[复制链接]
2036|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hsp_1|  楼主 | 2010-3-1 15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原文链接:http://diy-phone.com/tao/index.php?p=75

MTK软件的编译系统在 make/Verno_$(CUSTOMER).mak 中提供了一些软件构建相关的变量。
比如软甲版本相关信息、编译的日期时间、编译批次等。
在编译操作 genverno 中会将这些变量转换为C代码(verno/verno.c),以供上层应用(*#8375#)调用。
可如果每次编译都手动去修改编译计数,未免太傻了点:D 这种事情应该让程序自己去做才对。

大致原理:
将计数保存到一个文件里,该文件位于
  • BUILDNO_FILE=build\$(CUSTOMER)\$(NEWTARGNAME)-buildno.txt

复制代码
文件保存路径与客户项目和软件版本相关,这样项目和软件版本发生变化时,编译计数会自动重新开始计数。
每次编译执行后,从文件中读取编译计数并累加一保存到文件。
新编译计数在 genverno 过程中,被保存到 verno/verno.c 中。
形式:”$(strip $(BUILD)) #$(strip $(NEW_BUILDNO))”

OK。开始动手给MTK软件编译添加一个自动编译计数吧

提供一个基于HUAYU P1300发布软件代码的补丁。
  • diff --git a/make/Gsm2.mak b/make/Gsm2.mak
  • --- a/make/Gsm2.mak
  • +++ b/make/Gsm2.mak
  • @@ -264,6 +264,10 @@ COMPDEFS          = __NULL_DEF__
  • COMPDEFS += $(foreach COMP,$(COMPLIST),$(shell type make\$(COMP)\$(COMP).def))
  • #$(warning [$(COMPDEFS)])
  • +BUILDNO_FILE=build\$(CUSTOMER)\$(NEWTARGNAME)-buildno.txt
  • +OLD_BUILDNO=$(strip $(shell type $(BUILDNO_FILE)))
  • +NEW_BUILDNO=$(strip $(shell perl -e 'print $(OLD_BUILDNO)+1'))
  • +
  • # -----------------------------
  • # Macros definition
  • # -----------------------------
  • @@ -1180,7 +1184,7 @@ genverno:
  •      @echo kal_char* release_build(void) >> $(strip $(VERNODIR))\verno.c
  •      @echo { >> $(strip $(VERNODIR))\verno.c
  • -    @echo    static kal_char build_str[] = "$(strip $(BUILD))"; >> $(strip $(VERNODIR))\verno.c
  • +    @echo    static kal_char build_str[] = "$(strip $(BUILD)) #$(strip $(NEW_BUILDNO))"; >> $(strip $(VERNODIR))\verno.c
  •      @echo    return build_str; >> $(strip $(VERNODIR))\verno.c
  •      @echo } >> $(strip $(VERNODIR))\verno.c
  • @@ -1192,6 +1196,8 @@ genverno:
  •      @echo #define VERNO_STR "$(strip $(VERNO))" > $(strip $(VERNODIR))\verno.h
  • +    @echo $(NEW_BUILDNO) > $(BUILDNO_FILE)
  • +
  • # *************************************************************************
  • # Generate Custom Information
  • # *************************************************************************

复制代码
参考:
http://www.linuxjournal.com/cont ... -your-build-process

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

6

帖子

1

粉丝