惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
G
Google Developers Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
L
LangChain Blog
云风的 BLOG
云风的 BLOG
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
小众软件
小众软件
WordPress大学
WordPress大学
A
About on SuperTechFans
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
美团技术团队
Jina AI
Jina AI
T
Tailwind CSS Blog
Google DeepMind News
Google DeepMind News
D
Docker

博客园 - lei1217

(转)android 4.0 蓝牙服务开启流程分析 使用.NET实现断点续传(转载) MTK 图层,详细讲解加案例(转载) 字符串颠倒 .net的RadioButtonList控件的脚本操作 socket编程原理 C#请求远程服务器的资源 SQL2000 文件与文件组操作 [转载]SQL Server 2005对海量数据处理 HTTP参考 - 转载 HTTP协议详解 - 转载 ASPAJAXExtSetup 转载 Response.ContentType 的参数属性 标准文件读写操作 C语言文件操作 Web/Js 调色板 进制转换 计算机进制转换汇总 浮动广告
转:MTK分布式编译提高编译速度(IncredBuild)
lei1217 · 2009-05-09 · via 博客园 - lei1217

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

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