A: 

The makefile that you posted (I hope I got the formatting correct) refers to another makefile, and the contents of that other makefile are probably important. However, it appears that your problem is that filename.d is found in a path with spaces, and that path is what appears in either $(OBJS) or $(USER_OBJS) (probably defined in ../makefile.targets).

EDIT It looks like this is a problem that has been fixed in some version of Make, but not yours (see "Compiling on Cygwin").

Max Lybbert