`
piglikefly
  • 浏览: 2232 次
  • 性别: 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,对调试很有帮助。

分享到:
评论

相关推荐

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

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

    erlang_版本24.3.4.4

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

    erlang-rpm-master.zip

    Erlang RPM Master压缩包文件提供了在Linux环境中安装Erlang的源码包,以便为RabbitMQ服务器的部署做好准备。Erlang是一种高级并发编程语言,以其强大的分布式计算能力、内置的错误恢复机制以及高效的实时性能而闻名...

    rabbitmq编译安装erlang的所需要的依赖rpm包

    6. **其他依赖包**:根据Erlang源代码的`README`文件或`INSTALL`文件,可能还有其他特定的依赖项,例如`autoconf`, `automake`, `libtool`等。 在描述中提到,我们需要一些rpm的依赖包。在基于RPM的Linux发行版(如...

    erlang json rfc4627

    1. **源代码文件**:通常以`.erl`扩展名,这些文件实现了JSON相关的函数,如`decode/1`用于解析JSON字符串,`encode/1`用于将Erlang数据结构转换成JSON格式。 2. **测试用例**:可能有`.eunit`或`.test`文件,用于...

    erlang.mk:一个适用于Erlang的构建工具

    **erlang.mk** 是一个专为 **Erlang** 编程语言设计的构建工具,类似于其他编程语言中的 Makefile 或者 package manager。这个工具旨在简化Erlang项目的构建、测试和部署流程,使得开发者可以更高效地管理他们的项目...

    erlang 23.2 版本

    这个脚本会检查你的系统设置,确保所有必要的依赖项都已满足,并生成一个Makefile,该文件定义了如何编译和链接Erlang的源代码。如果你在运行过程中遇到错误,可能是因为缺少某些库或开发工具,例如GCC编译器、GNU ...

    erlang启动多节点,跨节点调用函数

    1.完成makefile,直接运行/script目录中的makefile.cmd就能编译文件 2.完成启动多节点的脚本,运行/script目录中的run.cmd可以启动3个节点, 节点的配置在/config目录config.txt中 3.完成跨节点函数的调用,记录...

    otp-src-25.3.tar.gz

    - 构建脚本,通常以`rebar3`或`Makefile`的形式存在,用于编译、测试和打包Erlang项目。 - 文档,可能包含README、LICENSE和变更日志等信息。 - 测试用例,帮助确保代码质量并验证功能。 - 可能还包括配置文件和示例...

    ErlangRouters:Erlang 中的负载均衡路由器模拟器

    Makefile [文本文件] - 用于使用源代码调用各种命令 README.md [md 文本文件] <- 您当前正在阅读的文件。 rebar.config [文本文件] - 钢筋配置 执行前信息 在第一次运行模拟之前,请查看我们 Github

    pgsql:Erlang PostgreSQL驱动程序

    1. 源码文件:Erlang模块,如连接管理、查询执行、数据类型转换等的实现。 2. 测试用例:用于验证驱动程序功能和性能的测试脚本。 3. 文档:关于如何使用、配置和扩展pgsql驱动程序的说明。 4. Makefile或其他构建...

    Email:一个基本的 Erlang 邮件服务器

    6. **Makefile或rebar.config**:构建和依赖管理的配置文件,Erlang通常使用rebar或rebar3作为构建工具。 综合以上信息,这个项目提供了学习Erlang和构建基于SMTP的邮件服务器的实例,涵盖了并发编程、网络通信、...

    MQTT Erlang server:用Erlang编写的用于物联网的MQTT服务器-开源

    2. `rebar.config`:Rebar是Erlang的构建工具,类似于其他语言的Makefile或build.gradle。这个配置文件定义了构建过程,包括依赖项管理和编译规则。 3. `mqtt.config`:这是服务器的配置文件,可能包含了MQTT服务器...

    exomler:用于Erlang的快速XML解析器

    例如,它可以轻松地将XML转换为Erlang术语,或者以流式方式处理XML事件,这在处理大型XML文件时尤其有用,因为它避免了加载整个文件到内存中。 在"exomler-master"这个压缩包中,包含了Exomler项目的源代码和可能的...

    autodeploy:Erlang REST 服务器接受 GitHub webhooks 和自动部署应用程序

    文件列表未给出具体详情,但通常可能包括Erlang源代码文件、配置文件(如rebar.config或erlang.mk)、部署脚本(如shell脚本或Makefile)以及其他辅助资源。 通过这个项目,我们可以学习如何利用Erlang构建高效的...

    tcp_client:一个Erlang TCP客户端连接管理器

    - Makefile或其他构建工具文件用于编译和打包项目。 6. **使用示例**: - 建立连接:`gen_tcp:connect(Host, Port, Options)`,其中`Host`是服务器IP,`Port`是服务器端口,`Options`是一些连接选项,如超时时间...

    otp_src_21.2_linux.rar

    OTP(Open Telecommunications Platform)是Erlang编程语言的核心组件之一,主要为构建高可用、分布式和实时系统提供强大的工具。OTP源代码包通常包含了Erlang运行时系统、库和开发工具,使得开发者能够在各种操作...

    erlang-tc:Erlang NIF用于threshold_crypto

    在`erlang-tc-main`这个文件中,很可能包含了项目的主模块或者核心代码。可能包括以下部分: - **Erlang模块**:Erlang代码部分,定义了与NIF交互的接口函数,这些函数在Erlang代码中可以像普通函数一样调用。 - **...

    E语言源码目录树演示.zip

    9. **Makefile** 或 **rebar.config**:构建工具的配置文件,如传统的Makefile或使用rebar3的配置文件,用于自动化编译、测试和打包过程。 通过解压并浏览这个“E语言源码目录树演示”,你可以了解Erlang项目的一般...

    erlang_docker

    Erlang Docker用于在 MacOS 上为 Ubuntu 构建 Erlang 项目将这些文件复制到项目的子文件夹中,我总是使用/docker make docker.build然后运行make docker.build成功后您可以运行make docker.shell这将启动您的 Docker...

Global site tag (gtag.js) - Google Analytics