Erlang-China

erlang 中文社区

目录结构习惯的Make解决


自从用惯了ant,就习惯把代码的目录结构整成:

project/
builid.xml
/src
/bin
/jar

这样的目录结构。然后,随时随地的一 ant,爽得不得了。而在 erlang 的 erl 中,貌似并不是这样,erlc自动编译在当前目录,一怒之下写了一个 .bat 来干 build 的活,倒也快活。

del ebin\*.beam
erlc -o ebin -I include src/game_server.erl
erlc -o ebin -I include src/game_admin.erl
erlc -o ebin -I include src/game_client.erl

最近,又觉得有些不爽——这多别扭呢。还想用 ant 来着,不过,今天又随手翻了下文档,原来人早有方案,也叫 make 。难怪 joe armstrong 说当他用完 prolog 的 compiler 之后,就再也用不到它了——都可以在 erlang 环境中完成嘛。新的文件路径是:

project/
Emakefile
src/
ebin/
include/

Emakefile的内容为:

{’src/*’,[debug_info,{i,"include"},{outdir,"ebin"}]}.

就这一句就行了,然后在 erlang 的命令行中用 make:all(). 就万事大吉。

靠,方便得不是一星半点啊。





Comments



1
Author:  Arbow | Date:  March 28, 2007 | Time:  4:32 pm

汗。。。一直没有发现此功能
其实不需要进入erlang console,直接 erl -make 也可以:)

2
Author:  jackyz | Date:  March 28, 2007 | Time:  5:23 pm

是,好像很多软件,如 yaws 的发行包,都没有利用这个特性。还搞了好多个平台的编译脚本,真不理解。 erl -make 的方式更适合 shell 脚本来调用。

3
Author:  Vingel | Date:  March 28, 2007 | Time:  9:58 pm

MT的速度满快的。



Write a Comment

Note: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>