Copyright | (c) 2016 Nicolas Mattia |
---|---|
License | MIT |
Maintainer | Nicolas Mattia <nicolas@nmattia.com> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
This module defines the different types used when working with a Makefile.
# File: Makefile hello = world foo: bar baz
Makefile { entries = [ Assignment "hello " " world" , Rule (Target "foo") [Dependency "bar"] [Command "baz"] ] })
- data Makefile = Makefile {}
- data Entry
- data AssignmentType
- newtype Target = Target Text
- newtype Dependency = Dependency Text
- newtype Command = Command Text
Documentation
A Makefile object, a list of makefile entries
A makefile entry, either a rule (target: dep1 dep1; commands)
or a
variable assignment (hello = world
or hello := world
)
data AssignmentType Source #
RecursiveAssign | foo = bar |
SimpleAssign | foo := bar |
SimplePosixAssign | foo ::= bar |
ConditionalAssign | foo ?= bar |
ShellAssign | foo != bar |
AppendAssign | foo += bar |
Makefile target (foo
in the example above)
newtype Dependency Source #
Target dependency (bar
in the example above)