* Simple
import Development.Hake
import Development.Hake.FunSetRaw
rules = [
dflt [ "hello" ]
,
rule ".o" ".c" $ \_ [s] -> [ [ "gcc", "-c", s ] ]
,
file [ "hello" ] [ "hello.o" ] [ [ "gcc", "hello.o", "-o", "hello" ] ]
,
task "clean" [ [ "rm", "-f", "hello.o", "hello" ] ] )
]
main = hake rules
import Development.Hake
import Development.Hake.FunSet
rules = [
dflt [ "hello" ]
,
rule ".o" ".c" $ \_ [s] -> [ [ "gcc", "-c", s ] ]
,
rule ".o" ".cc" $ \_ [s] -> [ [ "g++", "-c", s ] ]
,
ruleSS "" ".o" $ \t (s:_) -> [ (".c", [ "gcc", s, "-o", t ] ) ,
(".cc", [ "g++", s, "-o", t ] ) ]
,
task "clean" [ [ "rm", "-f" "hello.o", "hello" ] ]
]
main = hake rules
import Development.Hake
import Development.Hake.FunSet
rules = [
dflt [ "hello" ]
,
rule ".o" ".c" $ \_ [s] -> [ [ "gcc", "-c", s ] ]
,
rule ".o" ".cc" $ \_ [s] -> [ [ "g++", "-c", s ] ]
,
ruleSS "" ".o" $ \t s -> [ (".c", [ [ "gcc" ] ++ s ++ [ "-o", t ] ] ) ,
(".cc", [ [ "g++" ] ++ s ++ [ "-o", t ] ] ) ]
,
task "clean" [ [ "rm", "-f", "hello.o", "hello" ] ]
] `addDeps` [
("hello", [ "module1.o", "module2.o" ])
]
main = hake rules
You can use other file and other modules by use 'hakefileIs'
import Development.Hake
main = hakefileIs "../Hakefile" ["Variables.hs"]