@hackage shake0.14
Build system library, like Make, but more accurate dependencies.
Categories
License
BSD-3-Clause
Maintainer
Neil Mitchell <ndmitchell@gmail.com>
Links
Versions
Installation
Dependencies (18)
Dependents (76)
@hackage/hls-hlint-plugin, @hackage/shakers, @hackage/biohazard, @hackage/ats-pkg, @hackage/shake-persist, @hackage/pansite, Show all…
Package Flags
portable
(off by default)
Obtain FileTime using portable functions
Shake

Shake is a tool for writing build systems - an alternative to make, Scons, Ant etc. Shake has been used commercially for over five years, running thousands of builds per day.
Documentation
- Why use Shake? Shake lets you write large robust build systems, which deal properly with generated source files and run quickly. If you are writing a custom build system of any moderate size (more than a few rules) you should use Shake. The advantages over other build systems are detailed in the document Why choose Shake?.
- How do I use Shake? Shake is a Haskell library that you use to define your rules. The Shake manual provides a walk through of a small but realistic example, assuming no Haskell knowledge.
- Generated documentation for all functions, includes lots of examples.
- Running Ninja builds using Shake.
- Blog posts detailing ongoing development work.
- Profile report demo explaining what the profile reports mean.
- Academic paper on the underlying principles behind Shake.
- Video of a talk introducing Shake.
Other links
- Download the Haskell package from Hackage and install it using Cabal.
- Mailing list for any questions/bugs/thoughts on Shake. If you need more information and aren't sure where to start, use the mailing list.
- Questions can be asked on StackOverflow with the tag
shake-build-system. - Bugs can be reported on the GitHub issue tracker.
- Source code in a git repo, stored at GitHub.
- Continuous integration with Travis and Hydra.
Companies using Shake
- Standard Chartered have been using Shake since 2009, as described in the section 6 of the academic paper.
- factis research GmbH, as described in their blog post.
- Samplecount have been using Shake since 2012, as mentioned in their tweet.
- At least 10 other companies are using Shake internally.
Is your company using Shake? Write something public (even just a tweet to @ndm_haskell) and I'll include a link.
Projects using Shake
- Kansas Lava build rules.
- shake-language-c is a small library on top of Shake that allows cross-compiling C, C++ and Objective-C code to various target platforms.
- shake-cabal-build is a small script that uses Cabal sandboxes for initialising and updating build systems based on Shake.