import Development.Shake import Development.Shake.Command import Development.Shake.FilePath import Development.Shake.Util main = shakeArgs shakeOptions $ do -- action $ do -- sourceFiles <- getDirectoryFiles "" ["//*.luasm"] -- need $ (-<.> "luac") <$> sourceFiles want ["cont-stack.wasm"] alternatives $ do "*.wasm" %> \out -> do let wat = out -<.> "wat" need [wat] cmd_ "wasm-tools parse" [wat] "-o" [out] phony "run" $ do need ["cont-stack.wasm"] cmd_ "./run.js" phony "clean" $ do removeFilesAfter ".shake" ["//*"] liftIO $ removeFiles "." ["*.wasm"]