当前位置:   article > 正文

MTK分布式编译提高编译速度(IncredBuild) 收藏_mtk源码编译慢如何改进

mtk源码编译慢如何改进

From:http://www.cnblogs.com/big_sky/  

 

一台机子编译一个程序要几个小时,如果利用上开发小组的其它联网电脑实现资源共享提高速度是不错的解决方式

下面说一下怎样利用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换成多任务的文件


本文来自CSDN博客,转载请标明出处:http://www.cnblogs.com/big_sky/admin/file:///F:/资料/mtk相关网络查询知识/MTK分布式编译提高编译速度(IncredBuild)%20-%20wangfucai的专栏%20-%20CSDN博客.htm

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/329651
推荐阅读
相关标签
  

闽ICP备14008679号