Module MakeFile

A library containing some data types to describe makefiles.

Author: Michael Hanus

Version: December 2020

Summary of exported operations:

showMakeFile :: [MakeElement] -> String  Deterministic 
Shows a MakeFile as a string in standard makefile syntax.

Exported datatypes:


MakeFile

A make file consists of a list of make elements.

Type synonym: MakeFile = [MakeElement]


MakeElement

A data type for the description of an element of a make file.

Constructors:

  • DefineVariable :: String -> [String] -> MakeElement
  • Rule :: [SpecialTarget] -> String -> [String] -> [String] -> MakeElement
  • Comment :: String -> MakeElement
  • Empty :: MakeElement

SpecialTarget

A data type to describe special targets.

Constructors:

  • PHONY :: SpecialTarget
  • NOTPARALLEL :: SpecialTarget

Exported operations:

showMakeFile :: [MakeElement] -> String  Deterministic 

Shows a MakeFile as a string in standard makefile syntax.