shake-ext-0.4.0.1: src/Development/Shake/C.hs
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]