`
wgcode
  • 浏览: 576861 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Erlang中用的makefile的一点解释

阅读更多

又重新开始读了《Programming Erlang》,也就又读到了第六章中的makefile,结合学习中的具体情况,略作了修改如下:

.SUFFIXES: .erl .beam

OUT = ./beam

.erl.beam:
    erlc -W $< ; mv $@ ${OUT}

ERL = erl -boot start_clean

MODS = kvs

all: compile

compile: ${MODS:%=%.beam}

# application:
#     ${ERL} -s application start ARG1 ARG2

clean:
    rm -rf *.beam erl_crash.dump

 跟书里有的一点不同是,我把编译之后的文件转移到了beam文件夹里了,所以为此,在“~/.erlang”中也添加了该路径:

path_addz("./beam").
 这样,就方便载入自己编写的模块。最后还是要对以上的makefile稍作解释,以便以后忘了可以看看。

.SUFFIX声明要用到的或者将生成的文件的类型;.erl.beam是指.beam依赖于.erl,紧接着下一行一个tab之后的是一段有关于这种生成关系的具体命令,我也就是在这里把beam文件移动到./beam文件夹里的;MODS和OUT都是定义的变量,方便重复使用(虽然这里没有再用到,但是至少看起来很清楚);application这个替换被注释掉了,因为我几乎用不到,但也可能以后会用到,除了编译之外,它还负责运行编译之后的模块函数;clean就是删除当前文件夹下的beam文件。

分享到:
评论
1 楼 room_bb 2015-03-18  
.hrl文件怎么加入到编译规则里面?
比如:
pp.hrl文件
-define(PI, 3.14)


test.erl文件
-module(test).

-include(pp.hrl).

-export(test_pi/0).
test_pi() ->
    io:format("the pi is:~w",[PI]).


第一编译,执行test_pi()输出是3.14
但是我修改pp.hrl PI=5.14
再次编译执行,发现没编译到test.erl文件,执行test_pi()发现还是3.14

相关推荐

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

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

    erlog, 在Erlang中,Prolog解释器.zip

    erlog, 在Erlang中,Prolog解释器 Erlog - 用于Erlang应用程序的PrologErlog是在Erlang中实现的Prolog解释器,并与Erlang运行时系统集成。 它是Prolog标准的子集。 还包括 Erlog shell ( REPL ) 。如

    erlang编程 Introducing Erlang

    erlang入门电子书 erlang编程 Introducing Erlang,作者Simon.St.Laurent

    erlang_版本24.3.4.4

    erlang 安装包

    Erlang及其应用Erlang及其应用

    Erlang及其应用Erlang及其应用Erlang及其应用

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

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

    erlang25.0 windows版本

    erlang25.0 windows版本

    erlang otp25 win安装包

    erlang otp25 win安装包

    erlang22最新下载包

    erlang22最新下载包 erlang22.1.tar.gz erlang22最新下载包 erlang22最新下载包

    Erlang并发编程,Erlang程序设计,Erlang中文手册

    Erlang并发编程,Erlang程序设计,Erlang中文手册。 学习erlang的好资料。  Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此...

    硝烟中的erlang

    行解释,另外,希望不熟悉Erlang/OTP基本知识的读者自行学习必要的内容F 17 F。 本书不要求读者知道如何调试Erlang软件,如何理解已有的代码库,如何诊断问题,以及知 道一些如何在生产环境中部署Erlang的最佳实践F ...

    Erlang(32,64)安装程序

    Erlang是运行于虚拟机的解释性语言,但是现在也包含有乌普萨拉大学高性能Erlang计划(HiPE)开发的本地代码编译器,自R11B-4版本开始,Erlang也开始支持脚本式解释器。在编程范型上,Erlang属于多重范型编程语言,...

    erlang 中文基础教程

    erlang 中文基础教程erlang 中文基础教程

    Erlang编程指南

    Erlang是运行于虚拟机的解释性语言,但是现在也包含有乌普萨拉大学高性能Erlang计划(HiPE)开发的本地代码编译器,自R11B-4版本开始,Erlang也开始支持脚本式解释器。在编程范型上,Erlang属于多重范型编程语言,...

    erlang的项目

    用erlang开发中用的项目,比较实用用到otp知识,这是erlang开发者难点

    erlang安装包.zip

    erlang安装包

    erlang文献及资料汇总

    erlang文献及资料汇总 入门资料: erlang中文手册(R11B 文档译文,最适合入门) erlang位运算与二进制解析 erlang二进制高效编程 erlang异常处理详解 开发经验: 面对软件错误构建可靠的分布式系统 编写分布式的 ...

    erlang资源

    erlang资源,非常值得下载,二郎学习

    esl-erlang_23.0_windows_amd64.exe rabbitmq-server-3.8.4.exe

    esl-erlang_23.0和rabbitmq-3.8.4windows版本 直接下载安装就行,可以直接下载就可安装,非常的方便 ,欢迎大家下载 注意事项: 1. Erlang版本和RabbitMQ版本要配套 (Erlang23.0, RabbitMQ3.8.4) 2. amd芯片请乖乖...

    introducing erlang

    Erlang特性: ● 并发性 - Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制。 ● 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点) ● 健壮性 - Erlang...

Global site tag (gtag.js) - Google Analytics