- Setup the rules to use the `-output-complete-obj` option of OCaml - Introduce a `best` mode in addition to `byte` and `native` - Extend the `modes` field of executables to mean "linking modes", and add linking modes for static and shared objects