To answer your 2nd sub-question: A great engine that nownot only builds on Linux, Windows, OS X and other platforms, but also abstracts away from all the OS-specific build tasks is Unity 3D.
It gives you SDK which allows you to build your project for any of those platforms.