dib-0.7.1: A simple, forward build system.

Safe HaskellNone
LanguageHaskell98

Dib.Target

Description

Module that exposes the Target data type and a handful of convenience functions for dealing with Targets.

Synopsis

Documentation

data Target Source #

Describes a build target. Takes a name, checksum function, list of dependencies, list of Stages, and a list of Gatherers.

Constructors

Target Text ChecksumFunc [Target] [Stage] [Gatherer] 

addDependency :: Target -> Target -> Target Source #

Adds a dependency on another Target.

addDependencies :: Target -> [Target] -> Target Source #

Adds a dependency on a list of Targets.

getDependencies :: Target -> [Target] Source #

Gets dependencies of a Target.

makePhonyTarget :: Text -> [Target] -> Target Source #

Makes a Target that doesn't build anything but can be used as a meta Target, i.e. the "all" target in make.

makeCommandTarget :: Text -> [Target] -> IO () -> Target Source #

Makes a Target that runs an arbitrary IO action.

targetDepChecksum :: Target -> Word32 Source #

Computes a checksum from the direct dependencies of a target