Name: hake Version: 1.3.4 License: GPL License-file: LICENSE Author: Yoshikuni Jujo Maintainer: Yoshikuni Jujo Category: Development Synopsis: make tool. ruby : rake = haskell : hake Description: Like ruby's rake, hake have Hakefile which is Haskell source. . And Hakefile is like rake's Rakefile, and make's Makefile. . Hakefile is just Haskell source code, then you can use all Haskell features. . New: . > deps :: [ String ] -> [ String] -> Rule > deps trgts srcs == file trgts srcs $ \_ _ -> [] . Use 'deps' if you want to define no command rule for new Targets. Please use addDeps if you will add dependencies to already existing targets. . Hakefile example: . > import Development.Hake > import Development.Hake.FunSetRaw > hake_rules = [ > > dflt [ "greeting" ] > , > file [ "greeting", "greeting.log" ] [ "hello.o", "good-bye.o" ] $ > const2 [ [ "linker", "-o", "greeting", "hello.o", "good-bye.o" ] ] > , > rule ".o" ".sfx1" $ > \t (s:_) -> [ [ "compiler1", s, "-o", t ] ] > , > rule ".o" ".sfx2" $ > \t (s:_) -> [ [ "compiler2", s, "-o", t ] ] > , > task "clean" > [ [ "rm", "-f", "hello.o", "good-by.o", "greeting", "greeting.log" ] ] > , > mkfl "script.sh" [ "#!/bin/sh", "echo This is script", "echo made by Hakefile" ] > , > ruleSS "" ".o" $ \t (s:_) -> [ (".c", [ [ "gcc", s, "-o", t ] ] ) , > (".cc", [ [ "g++", s, "-o", t ] ] ) ] ) > , > rule ".o" ".c" $ \_ (s:_) -> [ [ "gcc", "-c", s ] ] > , > rule ".o" ".cc" $ \_ (s:_) -> [ [ "g++", "-c", s ] ] > , > base (=="foo") (const [ "foo.gen", "Hakefile" ]) $ \t (s:_) _ _ -> do > gen <- readFile s > writeFile t $ unlines $ > [ "#!/bin/sh", "echo This is script" ] ++ lines gen > return ExitSuccess > > ] > > main = hake hake_rules Stability: stable Homepage: http://homepage3.nifty.com/salamander/second/projects/hake/index.xhtml Package-Url: http://code.haskell.org/hake/ Cabal-Version: >= 1.2 Build-type: Simple Tested-With: GHC Data-Files: Extra-Source-Files: Extra-Tmp-Files: Library GHC-Options: -Wall Build-Depends: base<=4.1.0.0, old-time, mtl, filepath Exposed-Modules: Development.Hake, Development.Hake.OldFunSet, Development.Hake.FunSet, Development.Hake.FunSetRaw, Development.Hake.FunSetIO Other-Modules: Development.Hake.Variables, Development.Hake.Types, Development.Hake.Tools, Development.Hake.RunHake, Development.Hake.Core Executable hake GHC-Options: -Wall Build-Depends: directory, process, yjtools >= 0.9.7, regexpr >= 0.5.1 Main-Is: Main.hs