Allow building with the Arduino core, but without a .pde or .ino.

There's no particular reason those two things need to be associated -
you should be able to compile a project that has only .c/.cpp files and
still use the core libraries.