Make itself has a race-condition (bug) built into its design, and its shell language is very ad-hoc. In particular, conditionals in Make are a mystery I'm afraid I'll never understand. Each time I end up having to write a normal shell script and call it from Make. You're not necessarily making your life better by switching to Make.
My static site generator builds the whole site from scratch every time, no caching of results, no caching bugs. It's instant and I use normal shell scripts, so I don't have to deal with Make's oddities.