Clang on ubuntu generates different object files when compiling objective-c/cpp if a referenced header changed