this may be a bit obscure, but since it has already cost me a few hours for tracking this down, I note it here for future reference... what happened was that in a project that had built fine (literally) for years the statement
abld -w build armi urel
for getting the list of build targets suddenly no longer worked when using a Series 60 1st Edition (Symbian 6.1) SDK on an MMP with lots of language versions. Instead, it produced the following error message
NMAKE : fatal error U1095: expanded command line 'echo <lots_of_files>' too long
However, I could not find out why it had worked before, until I remembered that I had recently removed a cygwin installation from my system.
So here is the secret... if there is an executable named echo.exe somewhere in the path, NMAKE's method of passing long command lines changes (it probably passes each target individually to an external EXE, rather than just giving up, as for the built-in "echo" command), and everything works - the cygwin echo.exe just happened to provide this, and work right.
If you need a quick&dirty echo.exe replacement and are too lazy to write your own (like me), you could try the one shown here:
Since the 6.1 SDK is still quite important for producing backwards-compatible code, I hope this may be of help to someone.