Move platform specific logic to separate recipes