make_makefiles: Generate the top-level .gitignore file.

Add a PROGRAMS variable in some makefiles to make things easier.
17 files changed