cake3-0.1.0.0: Third cake - Makefile DSL

Safe HaskellSafe-Inferred

Development.Cake3.Types

Synopsis

Documentation

data Variable Source

Item wich have it's position in the Makefile. Positioned adds the metric to the contained datatype. Note, that the metric is not the subject of Eq or Ord. mappend-ing two metrics results in taking the minimal one. data Pos a = Pos { ppos :: Int, pwhat :: a } deriving(Show, Eq)

Makefile variable

Constructors

Variable 

Fields

vname :: String
 
vval :: Maybe String

Nothing means that variable is defined elsewhere (eg. borrowed from the environment)

type Command = [Either String File]Source

Command represents OS command line and consists of a list of fragments. Each fragment is either text (may contain spaces) or FilePath (spaces should be escaped)

return_text :: Monad m => a -> m [Either a b]Source

return_file :: Monad m => b -> m [Either a b]Source

data RecipeT v Source

Recipe answers to the question 'How to build the targets'

Constructors

Recipe 

Fields

rtgt :: Set File

Targets

rsrc :: Set File

Prerequisites

rcmd :: [Command]

A list of shell commands

rvars :: v

Container of variables

rloc :: String
 
rphony :: Bool
 

Instances

MonadState Recipe1 A 
Eq v => Eq (RecipeT v) 
Ord v => Ord (RecipeT v) 
Show v => Show (RecipeT v)