Safe Haskell | Safe-Inferred |
---|
- data Variable = Variable {}
- type Command = [CommandPiece]
- data CommandPiece
- return_text :: Monad m => String -> m [CommandPiece]
- return_file :: Monad m => File -> m [CommandPiece]
- data Flag
- = Phony
- | Intermediate
- 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]
- 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
- var :: String -> Maybe String -> Variable
- makevar :: String -> String -> Variable
- extvar :: String -> Variable
- make :: Variable
Documentation
The representation of Makefile variable
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
emptyRecipe :: String -> RecipeSource
addPrerequisite :: File -> Recipe -> RecipeSource
transformRecipes :: Applicative m => (Recipe -> m (Set Recipe)) -> Set Recipe -> m (Set Recipe)Source
Declare the variable which is defined in the current Makefile and has it's default value