シェイクと併用のおすすめの使い方が知りたいghc --make
。私のプロジェクトでは、シェイク ルールを使用して C ソース コードを*.o
ファイル (私は と呼びますcobjects
) にコンパイルし、これらのオブジェクトは を呼び出すことによって、私の haskell プログラムに一緒にリンクされghc --make
ます。このコマンドの実行中ghc
に、haskell ファイルを再構築する必要がある時期を自動的に判断します。
以下の例は、2 つのツールを統合するように正しく記述されていません。ファイルが変更された場合.hs
、shake スクリプトを再実行しても は再起動されませんghc --make
。シェイクが再構築を知らない理由は理解できますが、推奨される修正方法はわかりません。
main = shake shakeOptions $ do
want [main_exe]
main_exe *> \out -> do
need cobjects
cmd "ghc --make" hs_compileFlags cobjects "main.hs"
cobjects **> ...