18 lines
1.1 KiB
Plaintext
18 lines
1.1 KiB
Plaintext
Shake is a Haskell library for writing build systems - designed as a
|
|
replacement for make. See Development.Shake for an introduction, including
|
|
an example. Further examples are included in the Cabal tarball, under the
|
|
Examples directory. The homepage contains links to a user manual, an
|
|
academic paper and further information: https://github.com/ndmitchell/shake
|
|
|
|
To use Shake the user writes a Haskell program that imports
|
|
Development.Shake, defines some build rules, and calls the
|
|
Development.Shake.shakeArgs function. Thanks to do notation and infix
|
|
operators, a simple Shake build system is not too dissimilar from a simple
|
|
Makefile. However, as build systems get more complex, Shake is able to take
|
|
advantage of the excellent abstraction facilities offered by Haskell and
|
|
easily support much larger projects. The Shake library provides all the
|
|
standard features available in other build systems, including automatic
|
|
parallelism and minimal rebuilds. Shake also provides more accurate
|
|
dependency tracking, including seamless support for generated files, and
|
|
dependencies on system information (e.g. compiler version).
|