module Development.Shake.C ( cBinary
                           ) where

import           Development.Shake
import           Development.Shake.ATS

-- | Build a C binary, including relevant ATS-related paths.
cBinary :: FilePath -> FilePath -> Action ()
cBinary src target = do
    need [src]
    home <- patsHome
    let atsArgs = [EchoStderr False, AddEnv "PATSHOME" home]
    command atsArgs "gcc" [src, "-flto", "-I" ++ home ++ "/ccomp/runtime", "-I" ++ home, "-o", target, "-O2"]
        -- cmd ["strip", out]