Fix header guard

Reported by: clang34
Fix logic bug with calling uname(2)

Spotted by clang34
Use portable suffix rules and use .cc
Add stringfix in as a dependency
Name stringfixed objects as .So so non-stringfix objects don't get transformed
Properly exit on error and delete correct TPo file
No data is a failure