shake-ext-1.2.0.0: 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 :: Version -> FilePath -> FilePath -> Action ()
cBinary v src target = do
need [src]
home <- patsHome v
let atsArgs = [EchoStderr False, AddEnv "PATSHOME" home]
command atsArgs "gcc" [src, "-flto", "-I" ++ home ++ "/ccomp/runtime", "-I" ++ home, "-o", target, "-O2"]
-- cmd ["strip", out]