关于erlang的编译

来源:互联网 发布:python isdigit函数 编辑:程序博客网 时间:2024/05/22 03:08

项目中使用Emakefile编译。

Emakefile编译提供的方法

make:all()-> up_to_date|error
make:all(Options)-> up_to_date|error 
   这两个方法首先会在当前目录下查找一个Emakefile(一个用于指定要编译的模块和选项)。如果没有找到这个文件,将会编译当前目录下的模块。
   遍历模块集合,在一下情况下会编译每一个模块:
1、输出目录下缺少相关的编译文件。
2、源文件发生变化自上次编译后。
3、头文件发生变化自上次编译后。
   编译时,会输出每个要编译的文件,如果某个模块编译失败,将停止编译并返回错误。
   Options是个list,有一下选项:
1、noexec 
没有执行模式,只是打印每个需要编译的模块。
     2、load 
加载模式,加载所有编译过的模块。
     3、netload 
Net load mode. Loads all recompiled modules an all known nodes.(加载所有编译过的模块在所有已知的节点?)。
make:files(ModFiles) -> up_to_date | error
make:files(ModFiles,Options) -> up_to_date | error
      这两个方法执行过程与make:all相同,只是这两个方法指定了要编译的模块列表(模块文件的扩展名必须是.erl)。如果当前目录存在Emakefile文件,将搜索每个模块的编译选项,如果不存在模板的编译选项或者不存在Emakefile文件,依然编译模块。
Emakefile 文件内容
{Modules,Options}.    
    Modules是一个atom或atom的list,它可以是一下格式:
1、一个文件名,如:file1
2、在其他目录的文件名 如 ../foo/file1
3、通配符指定的文件集合 如 'file*'
4、通配符表示当前目录的所有模块 如 '*'
5、任意上述格式组合的数组 如['file*','../foo/file3','File4']
    Options是compiler命令的配置参数。具体查看 http://www.erlang.org/doc/man/compile.html
Emakefile是从上到下读取的,如果一个模块出现多次,第一次有效。
内容主要来源 http://www.erlang.org/doc/man/make.html

0 0