Module Ninja.Types

Module to represent the structure of Ninja build files

Author: Marc Andre Wittorf

Summary of exported operations:

Exported datatypes:


File

A Ninja file

Constructors:

  • File :: [Decl] -> File

Decl

A Ninja declaration

Constructors:

  • Rule :: RuleName -> [Def] -> Decl : a build rule
  • Edge :: RuleName -> [Target] -> [Target] -> [Target] -> [Target] -> [Target] -> [Def] -> Decl : a build edge
  • Var :: Def -> Decl : a global variable definition
  • Default :: Target -> Decl : a default edge specification
  • Subninja :: FilePath -> Decl : a subninja directive
  • Include :: FilePath -> Decl : an include directive
  • Pool :: String -> [Def] -> Decl : a pool section

Def

A Ninja definition (variable, value)

Type synonym: Def = (String,String)


Target

A Ninja target

Type synonym: Target = String


RuleName

A Ninja rule name

Type synonym: RuleName = String


Exported operations: