drasil-build-0.1.1.0: A framework for code and document generation for scientific software - Build System SubPackage
Safe HaskellSafe-Inferred
LanguageHaskell2010

Build.Drasil.Make.MakeString

Description

Defines types and functions for generating Makefiles.

Synopsis

Types

type VarName = String Source #

Type synonym for variable names.

type VarVal = String Source #

Type synonym for variable values.

data MakeString Source #

Constructors

Mr String

A string for Makefiles.

Mv MVar

Holds a Makefile variable.

Mc MakeString MakeString

Concatenates two MakeStrings.

data MVar Source #

For creating Makefile variables.

Constructors

Os VarName VarVal VarVal VarVal

Operating System specific variable. Holds information for Windows, Mac, and Linux systems.

Implicit VarName

Implicit OS.

Free VarName

Independent of OS.

Instances

Instances details
Eq MVar Source # 
Instance details

Defined in Build.Drasil.Make.MakeString

Methods

(==) :: MVar -> MVar -> Bool #

(/=) :: MVar -> MVar -> Bool #

Functions

(+:+) :: MakeString -> MakeString -> MakeString Source #

Concatenates two MakeStrings with a space in between.

renderMS :: MakeString -> String Source #

Renders a MakeString. Variables have the form "$(var)".

renderVar :: (String -> String) -> MVar -> String Source #

Renders variables. Takes in a function for the variable, and the type of variable.

makeS :: String -> MakeString Source #

Constructor for converting a String into a MakeString.

mkWindowsVar :: VarName -> VarVal -> VarVal -> MakeString Source #

Constructor for Windows OS variables.

mkOSVar :: VarName -> VarVal -> VarVal -> VarVal -> MakeString Source #

Constructor for OS variables.

mkImplicitVar :: VarName -> MakeString Source #

Constructor for Implicit variables.

mkFreeVar :: VarName -> MakeString Source #

Constructor for Free variables.