Make the order of dependencies explicit. Use define-runtime-lib (shared libraries are added to executables)