compile and link multiple objects

this decentralizes the source from main.asm which might end up ok once more gets split out. version differences are kind of premature and there's nothing to distinguish an object from any other asm file

but it has buena text so you have to pull ha ha ha