| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell98 |
Development.Cake3.Types
- 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.
Constructors
| 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
Constructors
| Phony | |
| Intermediate |
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
Constructors
| Recipe | |
Fields
| |
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.