When comparing Rake vs Tup, the Slant community recommends Tup for most people. In the question“What are the best open-source build systems for C/C++?” Tup is ranked 5th while Rake is ranked 19th. The most important reason people chose Tup is:
It is very fast.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Powerful language
You can write code for your build system in Ruby. While not my choice for general programming, Ruby is powerful and expressive. Given some knowledge of Ruby, you can create powerful Rake extensions that result in your average target only needing a few lines in the rakefile in spite of having complex behaviors (Is the library for public consumption, or only for use within the current repo/tier? Compile certain files on certain platforms? Link to libraries published from other repos? etc.).
Pro Speed
It is very fast.
Pro Tidy
It will automatically clean-up old files.
Pro General
Not bound to C/C++.
Pro Lua
Tup supports writing build definitions using Lua or Tupfiles.
Pro Cross platform
Supports Linux, OSX, and Windows.
Cons
Con Slooooow
For large codebases or with complex extensions, Rake can become quite slow. I'm aware of one codebase on which it can take 15 minutes to determine that no changes have been made and no recompilation is necessary.
Con Variants not working on Windows
The solution for having different build configuration (think Release/Debug) is broken on Windows.
Con Cannot incrementally modify or delete files
Cannot incrementally modify files (e.g. LaTeX PDF, VISing and LIGHTing Quake maps, which takes the same BSP file as input and output), and will not delete files (e.g. rm build/*.o).