The vim command :make is a convenient way to build source code. However, different projects often have different build harnesses (pdflatex, Makefile, ninja, etc.). I find it inconvenient to start with set makeprg=... when opening file. Rather, I want it to be set automatically.
It seems that makeshift does that.