OMake で Erlang/OTP 用 Erlang.om の作成を目指す #2

OMake を使って Erlang/OTP のプロジェクトを簡単にビルドできるようにしたいと考えています。

まずは omake -P をつかって Erlang の開発に継続ビルドを取り込みたいと考えていましたが、自分の Mac 環境ではうまく -P が動きません。SNow Leopard だからなのか、なんなのか。ほとんどいじってない Snow Leopard では動いたので、何らかのアプリケーションが悪さしているのかななんて思っています。

さて、Erlang 用の build ツールとしてはシンプルに ErlangProgram() という関数?を作って、こちらにファイルのリストを渡せば ok です。これは OMake のドキュメントに書いてあるサンプルをそのままです。

project/OMakefile

ERLC = erlc

ErlangProgram(files) =
  file_names = $(addsuffix .erl, $(files))
  beam_name = $(addsuffix .beam, $(files))

  $(beam_name): $(files_names)
    $(ERLC) $<

  value $(beam_name)

.SUBDIRS: src

project/src/OMakefile

.DEFAULT: $(ErlangProgram hello_code)

project/src/hello_code.erl

-module(hello).

main() ->
  erlang:display("Hello, world\n"),
  ok.

あとは omake -P で、 hello.erl を書き換えて保存するたびにビルドされます。

include() に対応するため scanner を書いたりする必要もあるのですが、それは将来的に。

第一歩は踏み出せた気がします。
SCons より Make よりなのでラーニングコストが低くて OMake いいですね。個人的には OCaml も覚えたい言語の一つなので、一石二鳥です。Erlang.om がほしい。欲を言えば omake.vim がほしいですね:-p

参考資料

The OMake user guide and reference manual
http://omake.metaprl.org/manual/omake-doc.html

thx

  • @camlspotter
  • @szkkty