项目代码越来越多,使用erlang编译也越来越慢。无论是Makefile还是Emakefile都力不从心。使用rebar编译速度会加快,但对原有项目改动太大。
通过对make.erl(otp/lib/tools/src/make.erl)进行修改,提供一个支持多进程编译的mmake.erl。其接口和make.erl相似,只是第一个参数为并发编译数,具体看下代码吧,非常简单。
对于项目中有编译次序要求时,比如必须首先编译自定义behaviour模块,随后编译其它模块,可以通过将Emakefile中内容分成多个{mod, opts}来达到目的。mmake实现中,对于同一个{mod, opts}内的模块会并行编译,而所有的{mod,opts}是顺序编译的。通过这个规则,我们就可以自定义顺序编译和并行编译。
比如,我们的项目首先要编译 gen_mod.erl,随后是mod_battle.erl,mod_team.erl模块:
cat Emakefile
{"gen_mod.erl", [{i, "include}, {outdir, "ebin"}]}.
{["mod_battle.erl","mod_team.erl"], [{i, "include}, {outdir, "ebin"}]}.
代码地址:https://github.com/litaocheng/mmake
分享到:
相关推荐
Icecream 是由 SUSE 创建的、基于 distcc 的并行编译工具。可在远程机器上执行构建和分发、并行编译。与 distcc 不同的是,Icecream 使用一个中央服务器动态的对编译作业进行调度。 标签:Icecream
对新的并行编译技术做了介绍
并行编译工具,可加快开发速度,充分利用其他闲置的电脑资源.
多核架构下LDPC双向并行编译码的设计与实现,杨剑飞,李绍胜,基于传统的LDPC(Low-Density Parity-Check,低密度奇偶校验码)串行编译码在多核架构下的实现,本文运用OpenMP建立并行模型,结合负载均衡和同
针对目前单机编译环境中编译资源局限、编译作业执行时间过长等问题,通过对网格集群技术的研究,提出了一种基于集群技术的网格并行编译服务模型。该模型中首先对编译作业进行分解,并依据作业调度算法,把分解后的元...
立足于处理器体系结构的研究,结合可重构设计技术以确保密码处理的灵活性是密码...编译器作为密码协处理器的重要组成部分,重点研究了密码协处理器指令级并行编译技术,通过提高指令级并行度来提升密码协处理器的性能。
密码协处理器指令级并行编译研究.pdf
一种面向异构众核处理器的并行编译框架.pdf
简单组建linux集群及并行编译vasp过程8.pdf
DSM体系结构对并行编译系统的支持与挑战[汇编].pdf
本书比较全面、系统地介绍了编译程序构造的一般原理和基本实现方法,内容包括词法分析、语法分析、属性文法与语法制导翻译、语义分析与中间代码产生、符号表与运行时存储空间组织、优化与目标代码生成、并行编译技术...
采用ifc编译器,mkl数据库对vasp编译
基于vs2010环境编写的并行编程简单的MPI编程hello world
中国科学技术大学并行程序设计作业答案 并行编译部分
与原教材相比,本书将编译技术的最新发展,例如属性文法、面向对象语言的编译技术、并行编译技术、编译程序自动构造工具等内容系统地融合到教材中;在语言背景方面,以C,Pascal替代原教材中的FORTRAN和Algol;并在...
与原教材相比,本书将编译技术的最新发展,例如属性文法、面向对象语言的编译技术、并行编译技术、编译程序自动构造工具等内容系统地融合到教材中;在语言背景方面,以C,Pascal替代原教材中的FORTRAN和Algol;并在...
tbb CPU 并行计算库,aarch64 6.5.0交叉编译移植
针对指标权重信息未知的Vague集多指标决策问题,通过计算各方案与理想方案的相离度来建立最优化决策模型,求解该模型获得指标的权重,并引入了方案集的最优点和最劣点的概念,给出了Vague集多指标决策的新方法。...
该文章详细描述了在Linux32/64bit环境下如何编译安装MPI并行的SuperLU库,并且如何建立Makefile适用于自己的C/Fortran工程,其中主要通过5个step来描述这一过程,并详细描述了其中一些可能碰到的问题的解决办法,这5...