For a standard make tool this behavior is "correct". It 
  is a known issue that the syntactic requirements for "make rules" do not 
  comply with the rules for filename and path names on the host operating 
  system. Make uses (white-)spaces as list separator.
  In
   
  all: My C Project
   
  the standard make syntax parser recognizes a rule that 
  describes that the target "all" depends on three sub-targets, namely "My", 
  "C", and "Project"
   
  A similar problems occurs when windows style absolute 
  path names are involved in rules:
   
  C:\temp\out.o: C:\temp\in1.c 
  C:\temp\in2.c
   
  Here the colon is the problem, since make uses it to 
  separate the target from its dependencies. A dumb parser will recognize the 
  first colon as separator and thus identify "C" as target and "\temp\out.o" as 
  first dependency and then run into trouble with the next 
  colon.....
   
  We have this problem when using 
  Cygwin.
   
  Nils
  
  
  
  I don’t know whether this is a bug 
  or not but if a C project name contains spaces, the generated makefile 
  produces something like:
   
  # All 
  Target
  all: My C 
  Project
   
  The linker is then invoked 3 
  times. Is this right?
  This is on latest 
  HEAD.
   
  Mike 
  W