Tone.cpp.o: In function `loop':
C:\Arduino\arduino-1.0.5/Tone.ino:8: undefined reference to `tone(unsigned char, unsigned int, unsigned long)'
C:\Arduino\arduino-1.0.5/Tone.ino:10: undefined reference to `noTone(unsigned char)'
When the IDE does the compilation properly, like UECIDE does, it doesn't matter what you name your sketch, it still works. In UECIDE the core files are compiled separately into a libcore.a file and placed in a cache location (so it never has to compile it again for that board unless you change the core). Libraries are similarly compiled into libLibName.a files (libSPI.a, libEthernet.a, etc) and cached. Then your sketch is compiled, and linked properly (-lcore -lSPI -lEthernet etc) against those cached library files.