Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Re-export all contents in drasil-build for external use.
Synopsis
- class RuleTransformer c where
- type Annotation = [Comment]
- data Command
- mkCheckedCommand :: MakeString -> Command
- mkCommand :: MakeString -> Command
- type Dependencies = [Target]
- data Rule
- mkFile :: Annotation -> Target -> Dependencies -> [Command] -> Rule
- mkRule :: Annotation -> Target -> Dependencies -> [Command] -> Rule
- data MakeString
- (+:+) :: MakeString -> MakeString -> MakeString
- makeS :: String -> MakeString
- mkFreeVar :: VarName -> MakeString
- mkImplicitVar :: VarName -> MakeString
- mkWindowsVar :: VarName -> VarVal -> VarVal -> MakeString
- mkOSVar :: VarName -> VarVal -> VarVal -> VarVal -> MakeString
- genMake :: RuleTransformer c => [c] -> Doc
Makefiles
Classes
class RuleTransformer c where Source #
Members can be transformed into a make rule.
Types and Functions
type Annotation = [Comment] Source #
A Makefile Annotation is made of 0 or more Comment
s
A command is made up of MakeString
s and command operators.
mkCheckedCommand :: MakeString -> Command Source #
Creates a Command which fails the make process if it does not return zero.
mkCommand :: MakeString -> Command Source #
Creates a command which executes and ignores the return code.
type Dependencies = [Target] Source #
Dependencies are made up of 0 or more Target
s.
A Makefile Rule can have comments and commands but needs a target, dependencies, and a type.
mkFile :: Annotation -> Target -> Dependencies -> [Command] -> Rule Source #
Creates a Rule which results in a file being created.
mkRule :: Annotation -> Target -> Dependencies -> [Command] -> Rule Source #
Creates an abstract Rule not associated to a specific file.
data MakeString Source #
Instances
Monoid MakeString Source # | |
Defined in Build.Drasil.Make.MakeString mempty :: MakeString # mappend :: MakeString -> MakeString -> MakeString # mconcat :: [MakeString] -> MakeString # | |
Semigroup MakeString Source # | |
Defined in Build.Drasil.Make.MakeString (<>) :: MakeString -> MakeString -> MakeString # sconcat :: NonEmpty MakeString -> MakeString # stimes :: Integral b => b -> MakeString -> MakeString # |
(+:+) :: MakeString -> MakeString -> MakeString Source #
Concatenates two MakeString
s with a space in between.
makeS :: String -> MakeString Source #
Constructor for converting a String
into a MakeString
.
mkFreeVar :: VarName -> MakeString Source #
Constructor for Free
variables.
mkImplicitVar :: VarName -> MakeString Source #
Constructor for Implicit
variables.
mkWindowsVar :: VarName -> VarVal -> VarVal -> MakeString Source #
Constructor for Windows OS variables.
mkOSVar :: VarName -> VarVal -> VarVal -> VarVal -> MakeString Source #
Constructor for OS variables.
Printers
genMake :: RuleTransformer c => [c] -> Doc Source #
Generates the makefile by calling build
after toMake
.