Nmake parses its command line looking for options and targets. Anything that is not an option is assumed to be a target. The first argument passed to any program is the path to the program. It appears that nmake parses this path and tokenises it at spaces. On my PC, in VC2005, nmake is installed at C:\Program Files\Microsoft Visual Studio 8\VC\bin\nmake.exe
This tokenises as and is interpreted as
C:\Program path to nmake
Files\Microsoft false target
Visual false target
Studio false target
8\VC\bin\nmake.exe false target
The build immediately fails since nmake does not know how to build Files\Microsoft
The solution is simple.
Copy nmake.exe into a directory path that has no spaces. I put it in c:\nmake.
I copied the batch file that sets up the command line environment for VS2005 and changed it to set up the environment and then start XDS. I use the new file (XDSvcvarsall.bat) to start XDS.
C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat
copied to a new file
C:\Program Files\Microsoft Visual Studio 8\VC\XDSvcvarsall.bat
I then edited this file in the section under label :x86
if not exist "%~dp0bin\vcvars32.bat" goto missing
set PATH=c:\nmake;%path% ensures that nmake.exe is found in a path without spaces
cd\xds\projects puts me in my preferred working directory
C:\XDS\BIN\xds.exe launches xds
hope this helps anyone that finds the same problem