make_makefiles: Generate the top-level .gitignore file.

Add a PROGRAMS variable in some makefiles to make things easier.
diff --git a/.gitignore b/.gitignore
index 158446c..2439e8a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,8 +5,6 @@
 *.cur
 *.ico
 *.mc.rc
-*.orig
-*.rej
 *.res
 *.so
 *.tab.[ch]
@@ -14,12 +12,52 @@
 *.yy.c
 *_[cips].c
 *~
-/Make.rules
 /TAGS
 /autom4te.cache
 /config.cache
 /config.log
 /config.status
 /tags
-/wine
 Makefile
+# Everything below this line is generated by make_makefiles
+/Make.rules
+/wine
+dlls/Makedll.rules
+dlls/Makeimplib.rules
+dlls/Maketest.rules
+loader/wine
+loader/wine-glibc
+loader/wine-kthread
+loader/wine-preloader
+loader/wine-pthread
+loader/wine.man
+programs/Makeprog.rules
+programs/wineapploader
+programs/winedbg/winedbg.man
+programs/winelauncher
+server/wineserver
+server/wineserver.man
+tools/bin2res
+tools/fnt2bdf
+tools/fnt2fon
+tools/make_ctests
+tools/makedep
+tools/relpath
+tools/sfnt2fnt
+tools/widl/widl
+tools/widl/widl.man
+tools/winebuild/winebuild
+tools/winebuild/winebuild.man
+tools/winedump/winedump
+tools/winedump/winedump.man
+tools/winegcc/winecpp
+tools/winegcc/wineg++
+tools/winegcc/winegcc
+tools/winegcc/winegcc.man
+tools/winemaker.man
+tools/wineprefixcreate
+tools/wineprefixcreate.man
+tools/wmc/wmc
+tools/wmc/wmc.man
+tools/wrc/wrc
+tools/wrc/wrc.man