I've used both Makefiles and Grunt for projects and I much prefer Grunt:
* I find the js syntax of gruntfiles much cleaner and harmonious with the js code I'm writing for my projects
* From what I've seen, Makefiles are meant to create output files - seems like Grunt can be set up more easily for things meant for display (linting, etc)
https://github.com/mathquill/mathquill/blob/dev/Makefile
Yes, Makefiles don't have magic syntax for qunit, but they're incredibly flexible.