Concurrent Clean : コマンドラインコンパイラ

Makefileを次のように書いて、.icl → .abcへの変換を達成。

CLEANDIR=C:\Clean\lib
CLEANPATH='$(CLEANDIR)\StdEnv;$(CLEANDIR)\StdLib;$(CLEANDIR)\OptEnv;$(CLEANDIR)\Directory;$(CLEANDIR)\ArgEnvWindows;.'

all: Main.abc

Main.abc: Main.icl
	cocl -P $(CLEANPATH) -o Main.abc Main.icl

以下、気づいたこと

  • Clean System Filesというフォルダは、コンパイラ自身にハードコードされているのか、自動的に作成され、その下にMain.abcが作成される。
  • また、コンパイラはimportしているモジュールに対応する.abcファイルを、Clean System Filesフォルダの下に自動的に探しに行く。
  • CLEANDIRに空白が入っていたせいで上手く動かなかったので、ライブラリを移動。
      • -

ところで、makeの通常の挙動を考えると、入力ファイルと出力ファイルは同じフォルダに出力される方が便利なような気がするけど、それはmakeの使いこなしが甘いからですかね。