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