erlang自带了类似makefile的功能,Emakefile,可以自动化编译整个erlang项目的代码,使用非常方便,直接运行erl -make即可自动化编译。
Erlang项目编译
一个简单的例子,保存为Emakefile文件:
{'src/*',
[debug_info,
{i,"include"},
{outdir,"ebin"}
]
}.
使用erl -make编译。
erlang将查找当前目录有没有Emakefile这个文件,然后根据文件指示,对src目录所有的模块进行编译,include指定了编译需要的文件目录,ebin为编译后beam文件输出的目录。
Emakefile说明:
规则为 {Modules, Options}. 可以在一个Emakefile写有多块这样的内容。
Modules可以是一个atom,或者是一个atom的列表,如'src/*','src/mod',['src/*','src2/*']
Options是Erlang编译器的配置参数,想知道更多参数可以看官方文档
防止Erlang程序被反编译
修改 Emakefile文件,如下:
{'src/*',
[debug_info,
{debug_info_key,{des3_cbc,"my secret key"}},
{i,"include"},
{outdir,"ebin"}
]}.
或者干脆不使用erlang调试功能:
{'src/*',
[{i,"include"},
{outdir,"ebin"}
]}.
使用erl -make编译。