资料来源网上 工程6235 08A 验证通过 1. make文件夹里面的Gsm2.mak修改make工具的编译项为IncredBuild增加运行参数 view plaincopy to clipboardprint? 01.#@echo tools/make.exe -fmake/comp.mak -r -R COMPONENT=$* ... $(strip $(COMPLOGDIR))/$*.log 02. @if /I %OS% EQU WINDOWS_NT / 03. (if /I $(BM_NEW) EQU TRUE / 04. (if not exist $(strip $(COMPLOGDIR))/$* md $(strip $(COMPLOGDIR))/$*) & / 05. (tools/make.exe -fmake/comp.mak -k -r -R $(strip $(CMD_ARGU)) COMPONENT=$* > $(strip $(COMPLOGDIR))/$*.log 2>&1) & / 06. (if ERRORLEVEL 1 / 07. (perl tools/get_log.pl $(strip $(COMPLOGDIR))/$*.log $(strip $(COMPLOGDIR))/$* tools/copy_mmi_include_h.bat) & / 08. (rd /S /Q $(strip $(COMPLOGDIR))/$*) & / 09. (rd /S /Q $(strip $(HEADER_TEMP))) & / 10. (exit 1) / 11. else / 12. (perl tools/get_log.pl $(strip $(COMPLOGDIR))/$*.log $(strip $(COMPLOGDIR))/$*) & / 13. (rd /S /Q $(strip $(COMPLOGDIR))/$*) / 14. ) / 15. else / 16. (if not exist $(strip $(COMPLOGDIR))/$* md $(strip $(COMPLOGDIR))/$*) & / 17. (tools/make.exe -fmake/comp.mak -r -R $(strip $(CMD_ARGU)) COMPONENT=$* > $(strip $(COMPLOGDIR))/$*.log 2>&1) & / 18. (if ERRORLEVEL 1 / 19. (perl tools/get_log.pl $(strip $(COMPLOGDIR))/$*.log $(strip $(COMPLOGDIR))/$* tools/copy_mmi_include_h.bat) & / 20. (rd /S /Q $(strip $(COMPLOGDIR))/$*) & / 21. (rd /S /Q $(strip $(HEADER_TEMP))) & / 22. (exit 1) / 23. else / 24. (perl tools/get_log.pl $(strip $(COMPLOGDIR))/$*.log $(strip $(COMPLOGDIR))/$*) & / 25. (rd /S /Q $(strip $(COMPLOGDIR))/$*) / 26. ) / 27. ) / #@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 / (if not exist $(strip $(COMPLOGDIR))/$* md $(strip $(COMPLOGDIR))/$*) & / (tools/make.exe -fmake/comp.mak -k -r -R $(strip $(CMD_ARGU)) COMPONENT=$* > $(strip $(COMPLOGDIR))/$*.log 2>&1) & / (if ERRORLEVEL 1 / (perl tools/get_log.pl $(strip $(COMPLOGDIR))/$*.log $(strip $(COMPLOGDIR))/$* tools/copy_mmi_include_h.bat) & / (rd /S /Q $(strip $(COMPLOGDIR))/$*) & / (rd /S /Q $(strip $(HEADER_TEMP))) & / (exit 1) / else / (perl tools/get_log.pl $(strip $(COMPLOGDIR))/$*.log $(strip $(COMPLOGDIR))/$*) & / (rd /S /Q $(strip $(COMPLOGDIR))/$*) / ) / else / (if not exist $(strip $(COMPLOGDIR))/$* md $(strip $(COMPLOGDIR))/$*) & / (tools/make.exe -fmake/comp.mak -r -R $(strip $(CMD_ARGU)) COMPONENT=$* > $(strip $(COMPLOGDIR))/$*.log 2>&1) & / (if ERRORLEVEL 1 / (perl tools/get_log.pl $(strip $(COMPLOGDIR))/$*.log $(strip $(COMPLOGDIR))/$* tools/copy_mmi_include_h.bat) & / (rd /S /Q $(strip $(COMPLOGDIR))/$*) & / (rd /S /Q $(strip $(HEADER_TEMP))) & / (exit 1) / else / (perl tools/get_log.pl $(strip $(COMPLOGDIR))/$*.log $(strip $(COMPLOGDIR))/$*) & / (rd /S /Q $(strip $(COMPLOGDIR))/$*) / ) / ) / 修改为 view plaincopy to clipboardprint? 01.@if /I %OS% EQU WINDOWS_NT / 02. (if /I $(BM_NEW) EQU TRUE / 03. (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") / 04. else / 05. (XGConsole /command="tools/make.exe -fmake/comp.mak -r -R $(strip $(CMD_ARGU)) COMPONENT=$* > $(strip $(COMPLOGDIR))/$*.log 2>&1" /NOLOGO /profile="tools/XGConsole.xml") / 06. ) / @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") / ) / 2. tools工具夹里面加入 XGConsole.xml 内容为: view plaincopy to clipboardprint? 01.<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 02. <Profile FormatVersion="1"> 03. <Tools> 04. <Tool Filename="perl" AllowRemote="true" /> 05. <Tool Filename="make" AllowIntercept="true" /> 06. <Tool Filename="tcc" AllowRemote="true" /> 07. <Tool Filename="tcpp" AllowRemote="true" /> 08. <Tool Filename="armasm" AllowRemote="true" /> 09. <Tool Filename="armcc" AllowRemote="true" /> 10. <Tool Filename="armcpp" AllowRemote="true" /> 11. <Tool Filename="strcmpex" AllowRemote="true" /> 12. <Tool Filename="warp" AllowRemote="true" /> 13. <Tool Filename="armar" AllowRemote="false" /> 14. <Tool Filename="fromelf" AllowRemote="false" /> 15. </Tools> 16. </Profile> <?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="armasm" 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="fromelf" AllowRemote="false" /> </Tools> </Profile> 3. 在项目下面的make2.pl修改以下几行 view plaincopy to clipboardprint? 01.if (($action eq "update") || ($action eq "remake") || ($action eq "new") || ($action eq "bm_new") || 02. ($action eq "c,r") || ($action eq "c,u")) { 03. if ($ENV{"NUMBER_OF_PROCESSORS"} > 1) { 04. if ($fullOpts eq "") { 05. $fullOpts = "CMD_ARGU=-j$ENV{//"NUMBER_OF_PROCESSORS//"}"; 06. } else { 07. $fullOpts .= ",-j$ENV{//"NUMBER_OF_PROCESSORS//"}"; 08. } 09. } 10.} 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//"}"; } } } 修改为: view plaincopy to clipboardprint? 01.if (($action eq "update") || ($action eq "remake") || ($action eq "new") || ($action eq "bm_new") || 02. ($action eq "c,r") || ($action eq "c,u")) { 03. if ($ENV{"NUMBER_OF_PROCESSORS"} >= 1) { 04. if ($fullOpts eq "") { 05. $fullOpts = "CMD_ARGU=-j$ENV{/"NUMBER_OF_PROCESSORS/"}"."0"; 06. } else { 07. $fullOpts .= ",-j$ENV{/"NUMBER_OF_PROCESSORS/"}"."0"; 08. } 09. } 10.} 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; 修改为你想要的进程数 最后将别的工程可以分布式的make.exe文件替换下就可以了 重新编译 本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/jiangyu912/archive/2011/01/05/6118625.aspx