Suggestions appear as you type. Use the up and down arrows to choose one and Enter to open it.

This page's audience our own tag's counts — open to see them
–Visits
–Page views
–Clicks to vendors
–Time on page
–Reading now
Clicks to vendors, by tool
  • –
Top countries
  • –
Devices
  • –

– · visits, page views and clicks counted by our own tag, which counts more than our checked analytics; every figure rounded down · how we count

Shake review

Free#28 of 42 in Build Automation Software

A specialized build system for dynamic dependencies and minimal Haskell-defined rebuilds.

7.1/10Editor score
Shake7.1 Visit Shake

Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026

Shake is an open-source build system and Haskell library for developers who need an alternative to Make. Build rules are defined in Haskell programs, with support for file, generated-file, and non-file dependencies. It suits custom build systems ranging from small projects to large codebases, particularly when dependency behavior is dynamic or difficult to express with static build rules.

Its strongest technical focus is dependency-aware incremental execution. Shake supports dynamic and polymorphic dependency tracking, minimal rebuilding, generated-file dependencies, and automatic parallel execution. Build profiling, dependency reports, linting, sanity checks, and progress or completion-time prediction add visibility around build behavior. These capabilities make it a strong fit for projects where avoiding unnecessary work and understanding dependency decisions matter. Ninja file execution also gives teams a way to incorporate Ninja-based build output into their workflows.

The ecosystem fit is practical but specialized. Shake can be used with CMake and Meson, and its supported operating systems are Linux and Windows. Shared cache support is available through Cloud Shake, while the Cloud Shake documentation describes that service as still under development. The published product details establish shared caching but not remote execution. Teams comfortable expressing build logic in Haskell should find Shake aligned with custom, dependency-heavy workflows; teams seeking a broadly packaged build tool or a build platform centered on remote execution should consider a different option.

Shake pros and cons

  • Where it wins
    • Tracks dynamic, polymorphic, and generated-file dependencies
    • Supports minimal rebuilding with automatic parallel execution
    • Includes profiling, linting, reports, and progress estimation
  • Where it doesn't
    • Build definitions require Haskell programs
    • Platform support is limited to Linux and Windows
    • Cloud Shake shared caching is still under development

Shake fact sheet, pricing and score →

Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. Bought places stand at the number bought; this page and our disclosure say so. Paying vendors may get a fuller, more detailed review from our editors, and that review can change their score. How we rank.

Last updated · How we research and update