Question: There is a number of unit test frameworks for most of the languages, but I haven't come across a unit test for GNU make. It has [conditionals](http://www.gnu.org/software/make/manual/make.html#toc_Conditionals), loops (the $(foreach ...) statement), and allows to write pretty sophisticated code. The examples might be things like BSD ports, GARNOME, and OpenCSW GAR. 

There's also [a debugger](http://gmd.sourceforge.net/) for GNU make. However, I've never come across a unit test framework for it. Is there anything like this in existence?

Answer: 
Unit-tests usually assumes that the language has some form of mechanism for modularization, which GNU make really doesn't have. What would be the "units" you would be testing? Individual targets? How would you set up the inputs/outputs of each test?

Also, since makefiles are executed during build, one could argue that the makefiles "test themselves", leaving little room for explicit "makefile test suites" to do any good.
The makefiles for Perl, PHP, Python, GHC and GCC (amongst open source projects I could think of off the top of my head and had lying around on my machine) all have 'test' targets, which I think would make interesting reading.