`
cryolite
  • 浏览: 580559 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Erlang的Makefile文件备忘

阅读更多
Erlang有个类似Makefile的文件Emakefile负责编译erl程序,说明文档在此

格式是
{Modules, Options}.

其中Modules是一个atom,或者是一个atom的列表。
这些atom
可以是一个模块名,如file1;
可以是别的目录中的模块名,如../foo/file3;
也可以是通过通配符匹配的一系列模块名,如file*;
还可以是上述atom的列表,如['file*', '../foo/file3', 'File4']。

Options是compiler命令的配置参数,具体参数可以查看文档
一个Emakefile的例子
{'src/*', 
	[debug_info, 
	{i,"include"},
	{outdir,"ebin"}
	]}.

shell命令
erl -make
将寻找当前目录下的Emakefile文件,然后根据文件内容build,例如上述例子将当前src目录中的所有模块进行编译,程序中-include 或者 -include_dir指定的相关文件将在include目录中查找,编译好的beam文件输出到ebin目录下。

make时将查看输出目录下有没有相关的编译文件,如果没有则进行编译;
如果有则检查文件时间,比较后决定是否要进一步编译;
如果是最新修改的源文件,则进行编译。

ps:
在erl shell中输入命令
 make :all().
有同样的功效。如果加上load参数,
make:all([load]).

会将重新编译的代码重新转载进erlang,对调试很有帮助。
分享到:
评论
1 楼 aiquantong 2012-12-17  
还有这个东西,的却很好用。相见恨晚啊!

相关推荐

    基于erlang的文件存储

    本项目“基于Erlang的文件存储”就是这样一个尝试,它利用Erlang强大的并发处理能力和分布式特性,为服务端提供稳定的基础架构,而客户端则通过Java的Swing组件提供用户友好的交互界面。以下是对该项目中涉及的技术...

    OTP进程池应用程序_Erlang_Makefile_下载.zip

    在Erlang项目中,`Makefile`通常包含编译源代码、创建 beam 文件(Erlang的字节码)、测试代码以及打包应用等步骤。用户可以通过简单的命令,如`make`或`make all`,来触发这些步骤,而无需手动执行每个单独的任务。...

    Erlang 运行环境的安装文件

    Erlang 是一种功能强大的并发性编程语言,主要用于构建分布式、高并发、容错性强的系统,尤其在电信、银行和互联网基础设施等领域有着广泛的应用。本文将详细介绍如何安装和配置 Erlang 运行环境。 首先,了解 ...

    ErlangB和ErlangC计算工具(exe可执行文件+excel两个)

    Erlang B和Erlang C是电信领域中两种重要的流量模型,用于预测和分析通信系统中的呼叫处理能力和拥塞情况。这两个模型由丹麦工程师Agner Krarup Erlang在20世纪初提出,至今仍广泛应用于现代通信网络的设计与优化。 ...

    erlang25.0 windows版本

    在Windows环境下安装Erlang 25.0,你需要下载提供的文件`otp_win64_25.0.exe`。这是一个Windows 64位的可执行安装程序,包含了所有必要的组件来运行Erlang环境。在安装过程中,你通常会遵循以下步骤: 1. **下载**...

    erlang relx 文件

    relx erlang 下载cowboy 时要有到的文件,在国内下载有时有问题。

    erlang_版本24.3.4.4

    5. **安装**:最后,使用`make install`将编译好的Erlang二进制文件安装到你的系统路径。在某些系统上,你可能需要管理员权限执行此操作。 Erlang的主要特性包括: - **并发性**:Erlang的进程模型是轻量级的,...

    for_each_file 用erlang代码实现遍历文件

    在Erlang编程语言中,`for_each_file`是一个自定义函数,用于遍历指定目录下的所有文件,并对每个文件执行特定的操作。在这个场景中,它读取每个文件的内容,以行为单位处理每一行,将每一行作为一个列表元素,最后...

    erlang 中文乱码

    4. **源码文件编码**:确保你的Erlang源码文件也是用UTF-8编码的。Erlang编译器会自动识别UTF-8编码的源码文件,但其他编码可能会导致编译错误。 5. **第三方库**:如果你使用了第三方库进行文件操作,确保库本身...

    ErlangEditor:Erlang Windows下的开发工具,不会写makefile,懒得学,受不了windows下面编译一大堆erl,WPF上面用AvalonEdit+Telerik控件

    Erlang Windows下的开发工具,不会写makefile,懒得学,受不了windows下面编译一大堆erl,WPF上面用AvalonEdit+Telerik控件,在开发. 写到今天,能完成一个简洁UI并且很符合Erlang特性的IDE就是最大的理想了。

    erlang 24.0 龙芯 loongarch64 预编译版本

    因此,为了让系统能够找到Erlang的可执行文件,用户需要在解压安装包后,将解压目录下的`bin`子目录添加到`PATH`中。操作步骤通常包括编辑`~/.bashrc`或`~/.bash_profile`文件,添加一行如`export PATH=$PATH:/path/...

    erlang编程 Introducing Erlang

    **Erlang编程:Introducing Erlang** Erlang是一种函数式编程语言,由爱立信在1986年开发,主要用于构建高可用性、容错性和并发性的分布式系统。"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,...

    改进erlang版的protobuf代码

    - **test.erl**:这是Erlang源代码文件,很可能包含了使用改进protobuf库的示例代码或者测试用例。 - **test.proto**:这是protobuf的定义文件,其中定义了数据结构和消息类型,可以被protobuf编译器转换为Erlang...

    erlang22最新下载包

    在“erlang22最新下载包”中,提供的文件是`otp_src_22.1`,这表明这是一个源代码包,包含Erlang/OTP(开放电信平台)22.1版本的所有源代码。OTP是Erlang的标准化开发框架,提供了许多用于构建可靠和可维护的系统的...

    Erlang 20.3linux安装包

    1. **下载**:你可以从Erlang Solutions官网或者通过提供的压缩包文件"Erlang 20.3linux░▓╫░░ⁿ"和"Erlang 20.3linux安装包"下载Erlang的Linux二进制包。 2. **解压**:解压缩下载的文件到一个合适的目录,...

    rabbitmq-server-3.8.3.exe和erlang22.2.exe 64位压缩文件

    在压缩包的文件名称列表中,"otp_win64_22.2.exe"是Erlang OTP 22.2版本的Windows 64位安装程序,用户需要先安装这个来为RabbitMQ提供运行环境。"rabbitmq-server-3.8.3.exe"则是RabbitMQ服务器的安装程序,用户在...

    erlang23.2版windows64位.zip

    在压缩包子文件的文件名称列表中,我们看到"otp_win64_23.2.exe",这是一个可执行文件,代表Open Telecom Platform (OTP)的Windows 64位版本,OTP是Erlang生态系统的核心部分,包含了开发、调试和运行Erlang应用程序...

    erlang9.rar

    标题中的"erlang9.rar"是一个压缩文件,包含了Erlang 9的Windows 64位安装程序。"otp_win64_20.0.exe"是实际的安装文件,这意味着尽管标题提到了Erlang9,但压缩包内提供的实际上是OTP的20.0版本。这可能是由于在...

    erlang 21.3

    5. **安装**: 最后,用`sudo make install`将编译好的Erlang二进制文件安装到系统路径中。 在实际应用中,Erlang 21.3可能会带来以下一些关键变化或改进: - **性能提升**: 每个版本的Erlang都会在性能方面进行...

    xiandiao_erlang_Erlang课后习题_

    "xiandiao_erlang_Erlang课后习题_"这个压缩包文件包含了Erlang程序设计第二版的课后习题源码,这对于学习和深入理解Erlang编程至关重要。 Erlang的特点: 1. **函数式编程**:Erlang基于函数式编程范式,强调无副...

Global site tag (gtag.js) - Google Analytics