Constant project_init::includes::ATS_SHAKE [] [src]

pub const ATS_SHAKE: &'static str = "#!/usr/bin/env stack\n-- stack runghc --resolver lts-10.0 --package shake --install-ghc\n\nimport           Data.Maybe        (fromMaybe)\nimport           Data.Monoid\nimport           Development.Shake\nimport           System.Exit       (ExitCode (..))\n\nmain :: IO ()\nmain = shakeArgs shakeOptions { shakeFiles=\".shake\" } $ do\n    want [ \"target/{{ project }}\" ]\n\n    \"target/{{ project }}\" %> \\_ -> do\n        dats <- getDirectoryFiles \"\" [\"//*.dats\"]\n        sats <- getDirectoryFiles \"\" [\"//*.sats\"]\n        hats <- getDirectoryFiles \"\" [\"//*.hats\"]\n        cats <- getDirectoryFiles \"\" [\"//*.cats\"]\n        need $ dats <> sats <> hats <> cats\n        cmd_ [\"mkdir\", \"-p\", \"target\"]\n        let patshome = \"/usr/local/lib/ats2-postiats-0.3.8\"\n        (Exit c, Stderr err) <- command [EchoStderr False, AddEnv \"PATSHOME\" patshome] \"patscc\" (dats ++ [\"-DATS_MEMALLOC_LIBC\", \"-o\", \"target/{{ project }}\", \"-cleanaft\", \"-O2\", \"-mtune=native\"])\n        cmd_ [Stdin err] Shell \"pats-filter\"\n        if c /= ExitSuccess\n            then error \"patscc failure\"\n            else pure ()\n\n    \"install\" ~> do\n        need [\"target/{{ project }}\"]\n        home <- getEnv \"HOME\"\n        cmd [\"cp\", \"target/{{ project }}\", fromMaybe \"\" home ++ \"/.local/bin\"]\n\n    \"valgrind\" ~> do\n        need [\"target/{{ project }}\"]\n        cmd [\"valgrind\", \"./target/{{ project }}\"]\n\n    \"run\" ~> do\n        need [\"target/{{ project }}\"]\n        cmd [\"./target/{{ project }}\"]\n\n    \"clean\" ~> do\n        cmd_ [\"sn\", \"c\"]\n        removeFilesAfter \".\" [\"//*.c\", \"tags\", \"build\"]\n        removeFilesAfter \".shake\" [\"//*\"]\n        removeFilesAfter \"target\" [\"//*\"]\n"