ocamlのプログラムを楽に実行できるようにする。

ocamlのプログラムを実行するには、compileが必要です。
そして、compile時に使ったモジュールのファイル名を指定しなければならないです。
例えば、こんな感じです*1

#unixモジュールとgraphicsモジュールを使用した時
#作ったファイルの名前はtest1.ml
ocamlc -o test1 unix.cma graphics.cma test1.ml && ./test1

毎回、書くのは面倒ですね。
makefileを書くと楽です。
現在書いているファイル(test.ml)と同じディレクトリにmakefileというファイルを作成します。
そしてそこに以下の記述をします。

N=1
C=ocamlc
EXT=.cma
FILE=test
TARGET=${FILE}${N}
DEPENDS=grahics${EXT} unix${EXT}

all: ${TARGET}

${TARGET}: ${TARGET}.ml
n	$C -o ${DEPENDS} ${TARGET} ${TARGET}.ml
	./${TARGET}

emacsocaml用のmodeのtuareg-modeでは,C-c C-cで'compileが実行できます。
(デフォルトはmake -kなので上で書いたmakefileが実行されると思います)
なので、コードを書いたらC-x C-sで保存して*2、C-c C-cを入力すれば、
すぐにコンパイルと実行が行われるはずです。

別の実験をしたくなったら

test2.mlというファイルを作成して、さっき書いたmakefileのNの部分の値を2にすれば、実行できます。

*1:compilerにはocamlcとocamloptがある。ocamlcはbyte-code.ocamloptはnaitive-codeを生成する

*2:auto-save-buffers.elを入れてれば不要になります><