找回密码
 注册
搜索
查看: 1143|回复: 1

[讨论] MTK 中的分布式多编译方法和步骤

[复制链接]
发表于 2010-3-25 12:20:51 | 显示全部楼层 |阅读模式
MTK 中的分布式多编译方法和步骤
        一台机子编译一个程序要几个小时,如果利用上开发小组的其它联网电脑实现资源共享提高速度是不错的解决方式
下面说一下怎样利用increbuild实现分布式编译
1.make文件夹里面的Gsm2.mak修改make工具的编译项为IncredBuild增加运行参数
#@echo tools\make.exe -fmake\comp.mak -r -R COMPONENT=$* ... $(strip $(COMPLOGDIR))\$*.log
@if /I %OS% EQU WINDOWS_NT   (if /I $(BM_NEW) EQU TRUE    (XGConsole /command="tools\make.exe -fmake\comp.mak -k -r -R $(strip $(CMD_ARGU)) COMPONENT=$* > $(strip $(COMPLOGDIR))\$*.log 2>&1" /NOLOGO /profile="tools\XGConsole.xml")    else    (XGConsole /command="tools\make.exe -fmake\comp.mak -r -R $(strip $(CMD_ARGU)) COMPONENT=$* > $(strip $(COMPLOGDIR))\$*.log 2>&1" /NOLOGO /profile="tools\XGConsole.xml")    )  else   (if /I $(BM_NEW) EQU TRUE    (tools\make.exe -fmake\comp.mak -k -r -R $(strip $(CMD_ARGU)) COMPONENT=$* > $(strip $(COMPLOGDIR))\$*.log)   else    (tools\make.exe -fmake\comp.mak -r -R $(strip $(CMD_ARGU)) COMPONENT=$* > $(strip $(COMPLOGDIR))\$*.log)   )
@type $(strip $(COMPLOGDIR))\$*.log >> $(LOG)
@perl .\tools\chk_lib_err_warn.pl $(strip $(COMPLOGDIR))\$*.log
2.tools工具夹里面加入 XGConsole.xml
内容为
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Profile FormatVersion="1">
<Tools>
<Tool Filename="perl" AllowRemote="true" />
<Tool Filename="make" AllowIntercept="true" />
<Tool Filename="tcc" AllowRemote="true" />
<Tool Filename="tcpp" AllowRemote="true" />
<Tool Filename="armcc" AllowRemote="true" />
<Tool Filename="armcpp" AllowRemote="true" />
<Tool Filename="strcmpex" AllowRemote="true" />
<Tool Filename="warp" AllowRemote="true" />
<Tool Filename="armar" AllowRemote="false" />
<Tool Filename="formelf" AllowRemote="false" />
</Tools>
</Profile>
3.tools工具夹里面的make2.pl修改以下几行
if (($action eq "update") || ($action eq "remake") || ($action eq "new") || ($action eq "bm_new") ||
    ($action eq "c,r") || ($action eq "c,u")) {
  if ($ENV{"NUMBER_OF_PROCESSORS"} > 1) {
    if ($fullOpts eq "") {
      $fullOpts = "CMD_ARGU=-j$ENV{\"NUMBER_OF_PROCESSORS\"}";
    } else {
      $fullOpts .= ",-j$ENV{\"NUMBER_OF_PROCESSORS\"}";
    }
  }
}
改为
if (($action eq "update") || ($action eq "remake") || ($action eq "new") || ($action eq "bm_new") ||
    ($action eq "c,r") || ($action eq "c,u")) {
  if ($ENV{"NUMBER_OF_PROCESSORS"} >= 1) {
    if ($fullOpts eq "") {
      $fullOpts = "CMD_ARGU=-j$ENV{\"NUMBER_OF_PROCESSORS\"}"."0";
    } else {
      $fullOpts .= ",-j$ENV{\"NUMBER_OF_PROCESSORS\"}"."0";
    }
  }
}

$ENV{"NUMBER_OF_PROCESSORS"} = 10;  //修改为你想要的进程数
4.把tools里面的make.exe换成多任务的文件






本人有MTK 平台的 23D 0812 6225 06B 23C 单双卡双待等源码,提供配套的测试手机以及刷机线!可以满足学习与开发需要,
有学习需要的朋友可以加我,一起学习!一起做MTK的技术精英。
另外,对于初学者,本人可以提供环境搭建的完整工具与相应文档,直接让平台在你机器上立刻跑起来。
具体工具如下:ADS 1.2 与破解文件、perl、cather、FlashTool、sourceinsight、MCT、分布式编译系统等。
可让初学者迅速进入开发阶段!

另外,本人有成熟的SP程序源码,可提供SP支持。
产品清单如下:
1. 动态菜单,动态更新通道、菜单结构、分布的宫格数目、动态更新菜单的功能等,在用户没开通GPRS情况下可用短信来批量更新菜单信息。
   可动态控制菜单项显示或者隐藏,移植非常方便,只需在宫格上添加一个函数就完成了,占用ROM空间不到11KB。
2. 为SP 提供暗扣包,暗扣包具有占用ROM空间不到3KB、只有单个入口、自动屏蔽上下行、屏蔽状态报告、自动回复二次确认等功能。
3. Soket通信方面的源码,可实现soket通信,快速下载文件,支持CMWAP与CMNET方式。
4. 短信,WAP,语音等公用API,SIM卡判断,以及短信内容监控等技术。
5. 任何汉字字体制作的软件,可在MTK上显示指定漂亮的字体。
6.“找工就业”的软件制作包,占用ROM空间不到6KB,可动态更新找工的所有内容。

需要请加QQ: 1362193163
QQ:1362193163
发表于 2010-4-24 11:51:42 | 显示全部楼层
可行不?[em05][em05][em02]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-2-26 03:33 , Processed in 0.069266 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表