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

Documentation

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.

Instances

Instances details
Eq MVar Source # 
Instance details

Defined in Build.Drasil.Make.MakeString

Methods

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

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

(+:+) :: 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.

varName :: MVar -> String Source #

Extracts the variable name from a Makefile variable.

win :: MVar -> String Source #

Extracts information for Windows OS from a variable.

mac :: MVar -> String Source #

Extracts information for Mac OS from a variable.

linux :: MVar -> String Source #

Extracts information for Linux OS from a variable.

isOsVar :: MVar -> Bool Source #

Checks if a variable is OS dependent.