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: 
I would also see the build itself as the integration-test. 

Usually problems with the build pop up early, especially if you have a working continous integration setup. In our case we have all possible build-paths run regularly run on our ci-servers (the software is constantly built and deployed). 

As far as I remember if there was a problem with a build-script ci showed us a crash instantly, for instance because tar-ball could not be built, or application couldn't be started due to missing artifacts. 

For above reasons, I think trying to unit-test the build-files itself involves too much effort, which could be spent better in setting up or extending continous integration.
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.