Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
- data Variable = Variable {}
- data Tool = Tool {}
- type Command = [CommandPiece]
- data CommandPiece
- return_text :: Monad m => String -> m [CommandPiece]
- return_file :: Monad m => File -> m [CommandPiece]
- data Flag
- data Recipe = Recipe {}
- emptyRecipe :: String -> Recipe
- addPrerequisites :: Set File -> Recipe -> Recipe
- addPrerequisite :: File -> Recipe -> Recipe
- type Target = Set File
- groupSet :: (Ord k, Ord x, Foldable t) => (x -> Set k) -> t x -> Map k (Set x)
- groupRecipes :: Foldable t => t Recipe -> Map File (Set Recipe)
- flattern :: [Set x] -> [x]
- applyPlacement' :: Eq x => [File] -> Map File x -> [x]
- filterRecipesByTools :: Foldable t => [Tool] -> t Recipe -> Set Recipe
- filterRecipesByTargets :: (Foldable t, Foldable t2) => t2 File -> t Recipe -> Set Recipe
- filterRecipesByToolsDeep :: [Tool] -> Set Recipe -> Set Recipe
- applyPlacement :: Foldable t => [File] -> t Recipe -> [Recipe]
- transformRecipes :: Applicative m => (Recipe -> m (Set Recipe)) -> Set Recipe -> m (Set Recipe)
- transformRecipesM_ :: (Monad m, Foldable t) => (Recipe -> m ()) -> t Recipe -> m ()
- queryVariables :: Foldable t => t Recipe -> Set Variable
- queryVariablesE :: Foldable t => t Recipe -> Either String (Set Variable)
- queryTargets :: Foldable t => t Recipe -> Set File
- queryPrereq :: Foldable t => t Recipe -> Set File
- var :: String -> Maybe String -> Variable
- intermediateFiles :: Foldable t => t Recipe -> Set File
- tool :: String -> Tool
- makevar :: String -> String -> Variable
- extvar :: String -> Variable
- make :: Variable
Documentation
The representation of Makefile variable.
The representation a tool used by the Makefile's recipe. Typical example
are gcc
or bison
type Command = [CommandPiece] Source
Command represents OS command line and consists of a list of fragments. Each fragment is either text (may contain spaces) or FilePath (spaces should be escaped)
data CommandPiece Source
return_text :: Monad m => String -> m [CommandPiece] Source
return_file :: Monad m => File -> m [CommandPiece] Source
Recipe answers to the question 'How to build the targets'. Internally, it contains sets of targets and prerequisites, as well as shell commands required to build former from latter
Recipe | |
|
emptyRecipe :: String -> Recipe Source
addPrerequisite :: File -> Recipe -> Recipe Source
transformRecipes :: Applicative m => (Recipe -> m (Set Recipe)) -> Set Recipe -> m (Set Recipe) Source
Define the Makefile-level variable. Rules, referring to a variable,
notice
it's changes.