Erlang有个类似Makefile的文件Emakefile负责编译erl程序,
格式是

Erlang代码
  1. {Modules, Options}.

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

Options是compiler命令的配置参数,具体参数可以 查看文档
一个Emakefile的例子

Erlang代码
  1. {'src/*',
  2. [debug_info,
  3. {i,"include"},
  4. {outdir,"ebin"}
  5. ]}.

shell命令

Shell代码
  1. erl -make

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

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

ps:
在erl shell中输入命令

Erlang shell代码
  1. make :all().

有同样的功效。如果加上load参数,

Erlang shell代码
  1. make:all([load]).

erlang Emakefile相关推荐

  1. Erlang的Emakefile文件备忘

    转自:http://cryolite.javaeye.com/blog/192069 Erlang有个类似Makefile的文件Emakefile负责编译erl程序,说明文档在此 格式是 Erlang ...

  2. 2015-1-11 【erlang】erl中的make -make 参数 以及 Emakefile

    光棍节???????        :-) 学习erlang开发时,在某个Makefile中发现,在使用erl时使用 -make 选项,于是查找手册学习之,顺带了解了Emakefile 1.困惑的出现 ...

  3. erlang的Emakefile和批处理启动

    在当前的项目文件夹下新建一个叫Emakefile,内容如下所示 {'src/*', [debug_info, {i,"include"}, {outdir,"ebin&q ...

  4. [转]使用target_system进行erlang应用的发行

    [转]使用target_system进行erlang应用的发行 转自:http://blogold.chinaunix.net/u3/104903/showart_2348532.html 一个简单实 ...

  5. Erlang -- 编译

    编译 单个文件编译 在Erlang Shell运行c(ModuleName).进行编译. c(ModuleName, Options)也可以通过Options添加编译选项. 通过定制Emakefile ...

  6. Erlang项目编译及防止反编译

    erlang自带了类似makefile的功能,Emakefile,可以自动化编译整个erlang项目的代码,使用非常方便,直接运行erl -make即可自动化编译. Erlang项目编译 一个简单的例 ...

  7. Erlang笔记 -- 基础

    Hello World %% hello.erl -module(hello). -export([start/0]).start() ->io:format("Hello World ...

  8. erlang的tcp服务器模板

    改来改去,最后放github了,贴的也累,蛋疼 还有一个tcp批量客户端的,也一起了 大概思路是 混合模式 使用erlang:send_after添加recv的超时处理 send在socket的opt ...

  9. Erlang服务端开发(无需Erlang基础)笔试题

    某游戏公司Erlang服务端开发(无需Erlang基础)笔试题,面向C/C++程序员 一.用你熟悉的语言解决下面的问题. 1.反转输出字符串,并移除其中的空格. 2.快速的判断一个数是否素数的方法. ...

最新文章

  1. IC/FPGA校招笔试题分析(四)再看Moore状态机实现序列检测器
  2. 【Android 电量优化】JobScheduler 相关源码分析 ( ConnectivityController 底层源码分析 | 构造函数 | 追踪任务更新 | 注册接收者监听连接变化 )
  3. 论文笔记:ZFNet
  4. 如何看待papi酱的个人平台papitube?
  5. java converttostring_由 ToString()和Convert.ToString() 引发的问题
  6. scala 的39个关键字
  7. 批量删除某个目录下的 某类型文件方法
  8. chosen组件实现下拉框
  9. SpringBoot启动出现java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
  10. 发表和编辑Post的一个Bug
  11. 第三十一期:QQ for Linux 复活,微信 for Linux 还远吗?
  12. H5 输入框text和number切换
  13. 材料科学与工程考计算机,计算机在材料科学与工程中应用作业.pdf
  14. amazon linux ami root 密码,Ubuntu Server的Amazon AMI映像的默认用户名是什么?
  15. 电子过载继电器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  16. Log4j配置和简单使用
  17. CSS按钮动画(四)
  18. Python搭建投票分类器模型来进行机器学习实验
  19. python判断手机号码是否正确_python检测手机号码是否合法
  20. python三国演义人物 统计分析前20个_python爬取三国演义文本,统计三国演义中出场次数前30的人物,并生成词云、图表...

热门文章

  1. mysql数据什么格式_Mysql数据格式
  2. 使用JavaFX2.0编写的国际象棋游戏
  3. 项目管理艺术 第一章
  4. QT 为按钮添加图标并设置透明
  5. OpenCV之稠密光流
  6. ANDROID项目中嵌入高德地图(一)配置环境+显示地图
  7. html的视频格式转换,Total HTML Converter(HTML文件格式转换工具)
  8. 十大排序算法——计数排序
  9. 交叉编译rtl8822cu.ko
  10. Latex 跨行跨列表格