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
Merge branch 'maint'

* maint:
  No data is a failure
  Properly exit on error and delete correct TPo file
  Name stringfixed objects as .So so non-stringfix objects don't get transformed
  Add stringfix in as a dependency
  Use portable suffix rules and use .cc
  Fix logic bug with calling uname(2)
  Fix header guard