Make assembly files pre-processable

On OS X, I was using clang, which I suppose pre-processes the files
regardless of extension, but gcc on Linux seems to require .S (capital
S) extension.

Otherwise, the OS X changes are perfectly fine on Linux.