Add obj to src rules as a seperate step since they have to be generated from a list. Fix include order issues. Ensure all is the default goal since it must be defined last. Add some workaround for building kernel drivers.