Home > study > 目录结构习惯的Make解决

目录结构习惯的Make解决

March 28th, 2007 :: jackyz

自从用惯了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(). 就万事大吉。

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

study

  1. Arbow
    March 28th, 2007 at 16:32 | #1

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

  2. jackyz
    March 28th, 2007 at 17:23 | #2

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

  3. March 28th, 2007 at 21:58 | #3

    MT的速度满快的。

  4. May 27th, 2010 at 15:56 | #4

    Hello, blogger, your article very good, looking forward to sharing your latest

  5. xia0pang
    November 20th, 2010 at 14:01 | #5

    erl -make 出错的时候不返回错误的,相当恶心

  1. No trackbacks yet.