shake: Build system library, like Make, but more accurate dependencies.

[ bsd3, development, library, program, shake ] [ Propose Tags ] [ Report a vulnerability ]

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).

Flags

Automatic Flags
NameDescriptionDefault
portable

Obtain FileTime using portable functions

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

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 && <5), binary, bytestring, deepseq (>=1.1 && <1.4), directory, filepath (<1.3.1), hashable (>=1.1.2.3 && <1.3), old-time, process (>=1.1), random, time, transformers (>=0.2 && <0.4), unix (>=2.5.1), unordered-containers (>=0.2.1 && <0.3), utf8-string (>=0.3) [details]
Tested with ghc ==7.6.3, ghc ==7.4.2, ghc ==7.2.2
License BSD-3-Clause
Copyright Neil Mitchell 2011-2014
Author Neil Mitchell <ndmitchell@gmail.com>
Maintainer Neil Mitchell <ndmitchell@gmail.com>
Revised Revision 1 made by HerbertValerioRiedel at 2015-01-12T09:51:33Z
Category Development
Home page https://github.com/ndmitchell/shake
Source repo head: git clone https://github.com/ndmitchell/shake.git
Uploaded by NeilMitchell at 2014-02-06T06:53:05Z
Distributions Arch:0.19.6, Debian:0.19.1, Fedora:0.19.7, 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 147310 total (644 in the last 30 days)
Rating 2.5 (votes: 10) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]