1

need生成されたファイルに対するルールの正しい方法は何ですか? これが私が試したことです:

import Development.Shake
import System.IO
import Control.Monad

main = do
    s <- withBinaryFile "/dev/urandom" ReadMode $ replicateM 10 . hGetChar

    shakeArgs shakeOptions $ do
        want ["a.out"]

        "generated" *> \target -> writeFileChanged target s

        "*.out" *> \out -> do
            need ["generated"]
            writeFile' out =<< readFile' "generated"

generatedただし、これにより、再実行されないというルールが発生するため、実行a.outを繰り返しても同じままです。

4

1 に答える 1