| Copyright | (c) 2016 Nicolas Mattia |
|---|---|
| License | MIT |
| Maintainer | Nicolas Mattia <nicolas@nmattia.com> |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Makefile
Description
This module defines the different types used when working with a Makefile.
# File: Makefile hello = world foo: bar baz
Makefile {
entries =
[ Assignment RecursiveAssign "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)
Constructors
| Rule Target [Dependency] [Command] | |
| Assignment AssignmentType Text Text | |
| OtherLine Text | Catch all value for comments, empty lines and lines that failed to parse. |
data AssignmentType Source #
Constructors
| 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)
Constructors
| Dependency Text |
Instances