Add C source file support and bug fixes.

1. Support C source files.
2. Unset prog_hdr if new target does not use header file.
3. Delete unused prog_hdr_suffix.
4. Use suffix in filename if possible.
5. Bash string match/replace fix.
Support C files.