shake: Build system library, like Make, but more accurate dependencies.
Shake is a Haskell library for writing build systems - designed as a replacement for make. See Development.Shake for an introduction, including an example. The homepage contains links to a user manual, an academic paper and further information: https://shakebuild.com
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).
[Skip to Readme]
Modules
[Index] [Quick Jump]
Flags
Manual Flags
| Name | Description | Default |
|---|---|---|
| portable | Obtain FileTime using portable functions | Disabled |
| cloud | Enable cloud build features | Disabled |
| embed-files | Embed data files into the shake library | Disabled |
| threaded | Build shake with the threaded RTS | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- shake-0.19.8.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.0, 0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.7, 0.2.8, 0.2.9, 0.2.10, 0.2.11, 0.3, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9, 0.3.10, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.9.1, 0.10, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.6, 0.10.7, 0.10.8, 0.10.9, 0.10.10, 0.11, 0.11.1, 0.11.2, 0.11.3, 0.11.4, 0.11.5, 0.11.6, 0.11.7, 0.12, 0.13, 0.13.1, 0.13.2, 0.13.3, 0.13.4, 0.14, 0.14.1, 0.14.2, 0.14.3, 0.15, 0.15.1, 0.15.2, 0.15.3, 0.15.4, 0.15.5, 0.15.6, 0.15.7, 0.15.8, 0.15.9, 0.15.10, 0.15.11, 0.16, 0.16.1, 0.16.2, 0.16.3, 0.16.4, 0.17, 0.17.1, 0.17.2, 0.17.3, 0.17.4, 0.17.5, 0.17.6, 0.17.7, 0.17.8, 0.17.9, 0.18, 0.18.1, 0.18.2, 0.18.3, 0.18.4, 0.18.5, 0.19, 0.19.1, 0.19.2, 0.19.3, 0.19.4, 0.19.5, 0.19.6, 0.19.7, 0.19.8 (info) |
|---|---|
| Change log | CHANGES.txt |
| Dependencies | base (>=4.9 && <5), binary, bytestring, deepseq (>=1.1), directory (>=1.2.7.0), extra (>=1.6.19), filepath (>=1.4), filepattern, hashable (>=1.1.2.3), heaps (>=0.3.6.1), js-dgtable, js-flot, js-jquery, primitive, process (>=1.1), random, semigroups (>=0.18), time, transformers (>=0.2), unix, unordered-containers (>=0.2.7), utf8-string (>=0.3) [details] |
| Tested with | ghc ==9.8, ghc ==9.6, ghc ==9.4, ghc ==9.2, ghc ==9.0, ghc ==8.10, ghc ==8.8 |
| License | BSD-3-Clause |
| Copyright | Neil Mitchell 2011-2024 |
| Author | Neil Mitchell <ndmitchell@gmail.com> |
| Maintainer | Neil Mitchell <ndmitchell@gmail.com> |
| Category | Development, Shake |
| Home page | https://shakebuild.com |
| Bug tracker | https://github.com/ndmitchell/shake/issues |
| Source repo | head: git clone https://github.com/ndmitchell/shake.git |
| Uploaded | by NeilMitchell at 2024-01-14T14:33:04Z |
| Distributions | Arch:0.19.6, Debian:0.19.1, Fedora:0.19.8, FreeBSD:0.15.5, LTSHaskell:0.19.8, NixOS:0.19.8, Stackage:0.19.8 |
| Reverse Dependencies | 63 direct, 31 indirect [details] |
| Executables | shake |
| Downloads | 152092 total (447 in the last 30 days) |
| Rating | 2.5 (votes: 10) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs uploaded by user Build status unknown [no reports yet] |