makefile-1.1.0.0: Simple Makefile parser and generator

Copyright(c) 2016 Nicolas Mattia
LicenseMIT
MaintainerNicolas Mattia <nicolas@nmattia.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

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"]
    ]
  }

Synopsis

Documentation

data Makefile Source #

A Makefile object, a list of makefile entries

Constructors

Makefile 

Fields

data Entry Source #

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.

newtype Target Source #

Makefile target (foo in the example above)

Constructors

Target Text