2011-11-21 14 views
6

私はMacでビルドしたいWindows上で開発されたF#プロジェクトの.fsproj(と.sln)を持っています。MacでF#.fsprojを構築する(モノラル)

私はいくつかのシングルソースファイルのF#プログラムをMonoでビルドしました。残念ながら、この.fsprojは、いくつかのソースファイルと多数の参照があるため、自明ではありません。

手作業でプロジェクトをビルドするためのコマンドラインを考案することは面白くないようです。

.sln/.fsprojを解析して正しいコマンドラインを与えるツールはありますか?あるいは、.sln/.fsprojからビルドを行うだけですか?

できるだけMonoDevelopやSharpDevelopなしでこれをしたいと思っていますが、その答えは歓迎します。ここで

+0

F#プロジェクトは通常のmsbuildプロジェクトである必要があるため、http://stackoverflow.com/questions/254722/how-can-i-build-a-visual-studio-solution-using-xbuild-from-monoを参照してください。 – JPW

+0

私はちょうどあなたが非常に簡単になるいくつかを書いたらmakefileを使用する傾向があります –

+0

@JohnPalmerあなたは共有するための例やテンプレートがありますか? – Harold

答えて

3

は、私が使用して、簡単なメイクファイル

FSC=/home/john/FSharp-2.0.0.0/bin/fsc.exe 
FSFILES= tokenizer.fs BuildTree.fs symtable.fs mkVMCommands.fs codegen.fs 
compiler: compiler.exe 

compiler.exe: $(FSFILES) 
    $(FSC) --define:LINUX --debug:full --debug+ $(FSFILES) -o:compiler.exe --sig:sigfile.fs 

run: compiler 
    mono compiler.exe 

ノートそれぞれのターゲットの後に行ことである - compiler.exe:...TABではなく、スペースでインデントする必要があります。反復が必要な場合は、-r "Somefile.dll"をコマンドラインに追加するだけです。

+0

興味深い。そして.fsprojファイルよりもはるかに最小限です。これを共有してくれてありがとう。 .fsprojからこれを生成するツールが有益であるように思えますが、両方を手動で更新するとエラーが発生しやすくなります。 – Harold

+0

@Harold - .fsprojファイルとmakefileの間で変換するための自動ツールはわかりませんが、手作業でmakefileを更新するのは簡単です –

2

xbuildは、slnfsprojのファイルを直接読み込み、Monoプラットフォームでビルドすることができます。

コメントに@JPWが記載されているので、それもworks on Mac OS Xです。 xbuildのF#サポートは未熟だと思われますが、誰かがbuild F# projects with xbuild on Linuxに管理しています。うまくいけば、Mac上でビルド環境をセットアップすることが役に立ちます。

関連する問題