From 5eb38cf9328d0d33d6678a6c7913616e77b2dafc Mon Sep 17 00:00:00 2001
From: Alexandre Julliard <julliard@winehq.org>
Date: Fri, 29 Dec 2006 12:49:26 +0100
Subject: [PATCH] make_makefiles: In .gitignore, explicitly list files that we
 know are generated instead of using wildcards.

---
 .gitignore           | 354 +++++++++++++++++++++++++++++++++++++++++--
 tools/make_makefiles | 105 ++++++++-----
 2 files changed, 413 insertions(+), 46 deletions(-)

diff --git a/.gitignore b/.gitignore
index 6e5715246cb..5b87ab44f3a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,17 +1,6 @@
 # Automatically generated by make_makefiles; DO NOT EDIT!!
 *.[oa]
-*.avi
-*.bmp
-*.chm
-*.cur
-*.ico
-*.mc.rc
-*.res
 *.so
-*.tab.[ch]
-*.tlb
-*.yy.c
-*_[cips].c
 /Make.rules
 /TAGS
 /autom4te.cache
@@ -29,90 +18,248 @@ dlls/Maketest.rules
 dlls/activeds/libactiveds.def
 dlls/advapi32/libadvapi32.def
 dlls/advpack/libadvpack.def
+dlls/amstream/version.res
 dlls/atl/atliface.h
 dlls/atl/libatl.def
+dlls/atl/rsrc.res
 dlls/avicap32/libavicap32.def
 dlls/avifil32/libavifil32.def
+dlls/avifil32/rsrc.res
 dlls/avifile.dll16
+dlls/cabinet/cabinet.res
 dlls/cabinet/libcabinet.def
 dlls/capi2032/libcapi2032.def
+dlls/cards/b1fv.bmp
+dlls/cards/b2fv.bmp
+dlls/cards/c1.bmp
+dlls/cards/c10.bmp
+dlls/cards/c2.bmp
+dlls/cards/c3.bmp
+dlls/cards/c4.bmp
+dlls/cards/c5.bmp
+dlls/cards/c6.bmp
+dlls/cards/c7.bmp
+dlls/cards/c8.bmp
+dlls/cards/c9.bmp
+dlls/cards/cards.res
+dlls/cards/cj.bmp
+dlls/cards/ck.bmp
+dlls/cards/cq.bmp
+dlls/cards/d1.bmp
+dlls/cards/d10.bmp
+dlls/cards/d2.bmp
+dlls/cards/d3.bmp
+dlls/cards/d4.bmp
+dlls/cards/d5.bmp
+dlls/cards/d6.bmp
+dlls/cards/d7.bmp
+dlls/cards/d8.bmp
+dlls/cards/d9.bmp
+dlls/cards/dj.bmp
+dlls/cards/dk.bmp
+dlls/cards/dq.bmp
+dlls/cards/free.bmp
+dlls/cards/h1.bmp
+dlls/cards/h10.bmp
+dlls/cards/h2.bmp
+dlls/cards/h3.bmp
+dlls/cards/h4.bmp
+dlls/cards/h5.bmp
+dlls/cards/h6.bmp
+dlls/cards/h7.bmp
+dlls/cards/h8.bmp
+dlls/cards/h9.bmp
+dlls/cards/hj.bmp
+dlls/cards/hk.bmp
+dlls/cards/hq.bmp
 dlls/cards/libcards.def
+dlls/cards/s1.bmp
+dlls/cards/s10.bmp
+dlls/cards/s2.bmp
+dlls/cards/s3.bmp
+dlls/cards/s4.bmp
+dlls/cards/s5.bmp
+dlls/cards/s6.bmp
+dlls/cards/s7.bmp
+dlls/cards/s8.bmp
+dlls/cards/s9.bmp
+dlls/cards/sj.bmp
+dlls/cards/sk.bmp
+dlls/cards/sq.bmp
+dlls/cards/theo.bmp
+dlls/cards/thex.bmp
+dlls/cards/version.res
 dlls/cfgmgr32/libcfgmgr32.def
 dlls/clusapi/libclusapi.def
+dlls/comcat/version.res
+dlls/comctl32/idb_hist_large.bmp
+dlls/comctl32/idb_hist_small.bmp
+dlls/comctl32/idb_std_large.bmp
+dlls/comctl32/idb_std_small.bmp
+dlls/comctl32/idb_view_large.bmp
+dlls/comctl32/idb_view_small.bmp
+dlls/comctl32/idc_copy.cur
+dlls/comctl32/idc_divider.cur
+dlls/comctl32/idc_divideropen.cur
+dlls/comctl32/idc_movebutton.cur
+dlls/comctl32/idi_dragarrow.ico
+dlls/comctl32/idi_tt_error_sm.ico
+dlls/comctl32/idi_tt_info_sm.ico
+dlls/comctl32/idi_tt_warn_sm.ico
+dlls/comctl32/idt_check.bmp
 dlls/comctl32/libcomctl32.def
+dlls/comctl32/rsrc.res
+dlls/comctl32/tests/bmp128x15.bmp
+dlls/comctl32/tests/bmp80x15.bmp
+dlls/comctl32/tests/rsrc.res
+dlls/comdlg32/800.bmp
+dlls/comdlg32/cdrom.ico
+dlls/comdlg32/floppy.ico
+dlls/comdlg32/folder.ico
+dlls/comdlg32/folder2.ico
+dlls/comdlg32/fontpics.bmp
+dlls/comdlg32/hdisk.ico
 dlls/comdlg32/libcomdlg32.def
+dlls/comdlg32/network.ico
+dlls/comdlg32/pd32_collate.ico
+dlls/comdlg32/pd32_landscape.ico
+dlls/comdlg32/pd32_nocollate.ico
+dlls/comdlg32/pd32_portrait.ico
+dlls/comdlg32/rsrc.res
 dlls/comm.drv16
 dlls/commdlg.dll16
 dlls/compobj.dll16
 dlls/compstui/libcompstui.def
 dlls/crtdll/libcrtdll.def
+dlls/crypt32/crypt32.res
 dlls/crypt32/libcrypt32.def
 dlls/cryptdll/libcryptdll.def
 dlls/ctl3d.dll16
 dlls/ctl3d32/libctl3d32.def
 dlls/ctl3dv2.dll16
 dlls/d3d8/libd3d8.def
+dlls/d3d8/version.res
 dlls/d3d9/libd3d9.def
+dlls/d3d9/version.res
 dlls/d3dim/libd3dim.def
+dlls/d3dim/version.res
 dlls/d3drm/libd3drm.def
+dlls/d3drm/version.res
 dlls/d3dx8/libd3dx8.def
 dlls/d3dxof/libd3dxof.def
+dlls/d3dxof/version.res
 dlls/dbghelp/libdbghelp.def
 dlls/dciman32/libdciman32.def
 dlls/ddeml.dll16
 dlls/ddraw/libddraw.def
+dlls/ddraw/version.res
+dlls/devenum/devenum.res
 dlls/dinput/libdinput.def
+dlls/dinput/version.res
 dlls/dinput8/libdinput8.def
+dlls/dinput8/version.res
 dlls/dispdib.dll16
 dlls/display.drv16
+dlls/dmband/version.res
+dlls/dmcompos/version.res
+dlls/dmime/version.res
+dlls/dmloader/version.res
+dlls/dmscript/version.res
+dlls/dmstyle/version.res
+dlls/dmsynth/version.res
+dlls/dmusic/version.res
 dlls/dmusic32/libdmusic32.def
+dlls/dmusic32/version.res
 dlls/dnsapi/libdnsapi.def
 dlls/dplay/libdplay.def
+dlls/dplay/version.res
 dlls/dplayx/libdplayx.def
+dlls/dplayx/version.res
 dlls/dpnet/libdpnet.def
+dlls/dpnet/version.res
+dlls/dpnhpast/version.res
 dlls/dsound/libdsound.def
+dlls/dsound/version.res
+dlls/dswave/version.res
+dlls/dxdiagn/version.res
 dlls/gdi.exe16
 dlls/gdi32/libgdi32.def
+dlls/gdi32/version.res
+dlls/gdi32/version16.res
 dlls/glu32/libglu32.def
+dlls/gphoto2.ds/rsrc.res
+dlls/hhctrl.ocx/hhctrl.res
 dlls/hid/libhid.def
+dlls/hid/version.res
 dlls/hlink/libhlink.def
+dlls/iccvid/rsrc.res
 dlls/icmp/libicmp.def
 dlls/imagehlp/libimagehlp.def
 dlls/imm.dll16
 dlls/imm32/libimm32.def
 dlls/iphlpapi/libiphlpapi.def
+dlls/itss/rsrc.res
+dlls/itss/tests/data.chm
+dlls/itss/tests/rsrc.res
+dlls/kernel32/kernel.res
 dlls/kernel32/libkernel32.def
+dlls/kernel32/nls/winerr_deu.mc.rc
+dlls/kernel32/nls/winerr_enu.mc.rc
+dlls/kernel32/nls/winerr_kor.mc.rc
+dlls/kernel32/version16.res
 dlls/keyboard.drv16
 dlls/krnl386.exe16
 dlls/libwinspool.def
+dlls/localspl/localspl.res
 dlls/lz32/liblz32.def
 dlls/lzexpand.dll16
 dlls/mapi32/libmapi32.def
+dlls/mciavi32/mciavi_res.res
 dlls/mlang/libmlang.def
 dlls/mmsystem.dll16
 dlls/mouse.drv16
 dlls/mpr/libmpr.def
+dlls/mpr/mpr.res
 dlls/mprapi/libmprapi.def
 dlls/msacm.dll16
 dlls/msacm32/libmsacm32.def
+dlls/msacm32/msacm.res
 dlls/mscms/libmscms.def
+dlls/mscms/version.res
 dlls/msdmo/libmsdmo.def
+dlls/msdmo/rsrc.res
 dlls/mshtml/libmshtml.def
 dlls/mshtml/nsiface.h
+dlls/mshtml/rsrc.res
+dlls/msi/cond.tab.c
+dlls/msi/cond.tab.h
+dlls/msi/instabsent.bmp
+dlls/msi/instadvert.bmp
+dlls/msi/instlocal.bmp
 dlls/msi/libmsi.def
+dlls/msi/msi.res
+dlls/msi/sql.tab.c
+dlls/msi/sql.tab.h
 dlls/msimg32/libmsimg32.def
+dlls/msrle32/rsrc.res
 dlls/msvcrt/libmsvcrt.def
+dlls/msvcrt/rsrc.res
 dlls/msvcrt20/libmsvcrt20.def
 dlls/msvcrt40/libmsvcrt40.def
 dlls/msvcrtd/libmsvcrtd.def
 dlls/msvfw32/libmsvfw32.def
+dlls/msvfw32/rsrc.res
+dlls/msvidc32/rsrc.res
 dlls/msvideo.dll16
 dlls/mswsock/libmswsock.def
+dlls/mswsock/version.res
+dlls/msxml3/version.res
 dlls/nddeapi/libnddeapi.def
 dlls/netapi32/libnetapi32.def
 dlls/newdev/libnewdev.def
 dlls/ntdll/libntdll.def
 dlls/ntdsapi/libntdsapi.def
+dlls/objsel/objsel.res
 dlls/odbc32/libodbc32.def
 dlls/odbccp32/libodbccp32.def
 dlls/ole2.dll16
@@ -122,38 +269,82 @@ dlls/ole2nls.dll16
 dlls/ole2prox.dll16
 dlls/ole2thk.dll16
 dlls/ole32/dcom.h
+dlls/ole32/drag_copy.cur
+dlls/ole32/drag_link.cur
+dlls/ole32/drag_move.cur
 dlls/ole32/libole32.def
+dlls/ole32/nodrop.cur
+dlls/ole32/ole32res.res
 dlls/oleacc/liboleacc.def
 dlls/oleaut32/liboleaut32.def
+dlls/oleaut32/oleaut32.res
 dlls/olecli.dll16
 dlls/olecli32/libolecli32.def
 dlls/oledlg/liboledlg.def
+dlls/oledlg/rsrc.res
 dlls/olepro32/libolepro32.def
+dlls/olepro32/version.res
 dlls/olesvr.dll16
 dlls/olesvr32/libolesvr32.def
 dlls/opengl32/libopengl32.def
+dlls/opengl32/version.res
 dlls/powrprof/libpowrprof.def
 dlls/psapi/libpsapi.def
+dlls/qcap/version.res
 dlls/quartz/libquartz.def
+dlls/quartz/version.res
 dlls/rasapi16.dll16
 dlls/rasapi32/librasapi32.def
 dlls/resutils/libresutils.def
 dlls/riched20/libriched20.def
+dlls/riched20/version.res
+dlls/riched32/version.res
 dlls/rpcrt4/librpcrt4.def
 dlls/rsaenh/librsaenh.def
+dlls/sane.ds/rsrc.res
 dlls/secur32/libsecur32.def
 dlls/sensapi/libsensapi.def
 dlls/serialui/libserialui.def
+dlls/serialui/serialui_rc.res
 dlls/setupapi/libsetupapi.def
+dlls/setupapi/setupapi.res
 dlls/setupx.dll16
 dlls/sfc/libsfc.def
+dlls/shdoclc/rsrc.res
 dlls/shdocvw/libshdocvw.def
+dlls/shdocvw/shdocvw.res
+dlls/shdocvw/shdocvw_v1.tlb
 dlls/shell.dll16
+dlls/shell32/cdrom.ico
+dlls/shell32/delete.ico
+dlls/shell32/desktop.ico
+dlls/shell32/document.ico
+dlls/shell32/drive.ico
+dlls/shell32/floppy.ico
+dlls/shell32/folder.ico
+dlls/shell32/folder_open.ico
 dlls/shell32/libshell32.def
+dlls/shell32/mycomputer.ico
+dlls/shell32/mydocs.ico
+dlls/shell32/netdrive.ico
+dlls/shell32/netdrive2.ico
+dlls/shell32/printer.ico
+dlls/shell32/ramdisk.ico
+dlls/shell32/searching.avi
+dlls/shell32/shortcut.ico
+dlls/shell32/shres.res
+dlls/shell32/trash_file.ico
+dlls/shell32/version16.res
 dlls/shfolder/libshfolder.def
+dlls/shfolder/version.res
 dlls/shlwapi/libshlwapi.def
+dlls/shlwapi/shlwapi.res
 dlls/snmpapi/libsnmpapi.def
 dlls/sound.drv16
+dlls/stdole2.tlb/rsrc.res
+dlls/stdole2.tlb/std_ole_v2.tlb
+dlls/stdole32.tlb/rsrc.res
+dlls/stdole32.tlb/std_ole_v1.tlb
 dlls/sti/libsti.def
 dlls/storage.dll16
 dlls/stress.dll16
@@ -165,13 +356,80 @@ dlls/typelib.dll16
 dlls/unicows/libunicows.def
 dlls/url/liburl.def
 dlls/urlmon/liburlmon.def
+dlls/urlmon/rsrc.res
 dlls/user.exe16
 dlls/user32/libuser32.def
+dlls/user32/resources/display.res
+dlls/user32/resources/mouse.res
+dlls/user32/resources/obm_btncorners.bmp
+dlls/user32/resources/obm_btsize.bmp
+dlls/user32/resources/obm_check.bmp
+dlls/user32/resources/obm_checkboxes.bmp
+dlls/user32/resources/obm_close.bmp
+dlls/user32/resources/obm_combo.bmp
+dlls/user32/resources/obm_dnarrow.bmp
+dlls/user32/resources/obm_dnarrowd.bmp
+dlls/user32/resources/obm_dnarrowi.bmp
+dlls/user32/resources/obm_lfarrow.bmp
+dlls/user32/resources/obm_lfarrowd.bmp
+dlls/user32/resources/obm_lfarrowi.bmp
+dlls/user32/resources/obm_mnarrow.bmp
+dlls/user32/resources/obm_old_close.bmp
+dlls/user32/resources/obm_old_dnarrow.bmp
+dlls/user32/resources/obm_old_lfarrow.bmp
+dlls/user32/resources/obm_old_reduce.bmp
+dlls/user32/resources/obm_old_restore.bmp
+dlls/user32/resources/obm_old_rgarrow.bmp
+dlls/user32/resources/obm_old_uparrow.bmp
+dlls/user32/resources/obm_old_zoom.bmp
+dlls/user32/resources/obm_reduce.bmp
+dlls/user32/resources/obm_reduced.bmp
+dlls/user32/resources/obm_restore.bmp
+dlls/user32/resources/obm_restored.bmp
+dlls/user32/resources/obm_rgarrow.bmp
+dlls/user32/resources/obm_rgarrowd.bmp
+dlls/user32/resources/obm_rgarrowi.bmp
+dlls/user32/resources/obm_size.bmp
+dlls/user32/resources/obm_trtype.bmp
+dlls/user32/resources/obm_uparrow.bmp
+dlls/user32/resources/obm_uparrowd.bmp
+dlls/user32/resources/obm_uparrowi.bmp
+dlls/user32/resources/obm_zoom.bmp
+dlls/user32/resources/obm_zoomd.bmp
+dlls/user32/resources/ocr_appstarting.cur
+dlls/user32/resources/ocr_cross.cur
+dlls/user32/resources/ocr_dragobject.cur
+dlls/user32/resources/ocr_hand.cur
+dlls/user32/resources/ocr_help.cur
+dlls/user32/resources/ocr_ibeam.cur
+dlls/user32/resources/ocr_icon.cur
+dlls/user32/resources/ocr_no.cur
+dlls/user32/resources/ocr_normal.cur
+dlls/user32/resources/ocr_size.cur
+dlls/user32/resources/ocr_sizeall.cur
+dlls/user32/resources/ocr_sizenesw.cur
+dlls/user32/resources/ocr_sizens.cur
+dlls/user32/resources/ocr_sizenwse.cur
+dlls/user32/resources/ocr_sizewe.cur
+dlls/user32/resources/ocr_up.cur
+dlls/user32/resources/ocr_wait.cur
+dlls/user32/resources/oic_bang.ico
+dlls/user32/resources/oic_hand.ico
+dlls/user32/resources/oic_note.ico
+dlls/user32/resources/oic_ques.ico
+dlls/user32/resources/oic_sample.ico
+dlls/user32/resources/oic_winlogo.ico
+dlls/user32/resources/user32.res
+dlls/user32/resources/version16.res
+dlls/user32/tests/resource.res
+dlls/user32/tests/test_mono.bmp
 dlls/usp10/libusp10.def
 dlls/uxtheme/libuxtheme.def
+dlls/uxtheme/version.res
 dlls/vdmdbg/libvdmdbg.def
 dlls/ver.dll16
 dlls/version/libversion.def
+dlls/version/tests/version.res
 dlls/w32sys.dll16
 dlls/win32s16.dll16
 dlls/win87em.dll16
@@ -179,24 +437,37 @@ dlls/winaspi.dll16
 dlls/windebug.dll16
 dlls/wined3d/libwined3d.def
 dlls/winedos/libwinedos.def
+dlls/wineps.drv/rsrc.res
 dlls/wineps16.drv16
 dlls/wing.dll16
 dlls/wininet/libwininet.def
+dlls/wininet/rsrc.res
+dlls/wininet/version.res
 dlls/winmm/libwinmm.def
+dlls/winmm/winmm_res.res
 dlls/winnls.dll16
 dlls/winnls32/libwinnls32.def
 dlls/winsock.dll16
 dlls/winspool.drv/libwinspool.def
+dlls/winspool.drv/winspool.res
 dlls/wintab.dll16
 dlls/wintab32/libwintab32.def
 dlls/wintrust/libwintrust.def
+dlls/wintrust/version.res
 dlls/wldap32/libwldap32.def
+dlls/wldap32/wldap32.res
 dlls/wnaspi32/libwnaspi32.def
 dlls/wow32/libwow32.def
 dlls/wprocs.dll16
 dlls/ws2_32/libws2_32.def
+dlls/ws2_32/version.res
 dlls/wsock32/libwsock32.def
+dlls/wsock32/version.res
 dlls/wtsapi32/libwtsapi32.def
+include/stdole2.tlb
+libs/wpp/ppl.yy.c
+libs/wpp/ppy.tab.c
+libs/wpp/ppy.tab.h
 loader/wine
 loader/wine-glibc
 loader/wine-kthread
@@ -205,7 +476,12 @@ loader/wine-pthread
 loader/wine.man
 programs/Makeprog.rules
 programs/clock/clock
+programs/clock/rsrc.res
 programs/cmd/cmd
+programs/cmd/wcmd.ico
+programs/cmd/wcmdrc.res
+programs/cmdlgtst/about.ico
+programs/cmdlgtst/cmdlgr.res
 programs/cmdlgtst/cmdlgtst
 programs/control/control
 programs/eject/eject
@@ -215,28 +491,70 @@ programs/hh/hh
 programs/icinfo/icinfo
 programs/iexplore/iexplore
 programs/msiexec/msiexec
+programs/msiexec/msiexec.ico
+programs/msiexec/rsrc.res
 programs/notepad/notepad
+programs/notepad/rsrc.res
 programs/oleview/oleview
+programs/oleview/rsrc.res
+programs/oleview/toolbar.bmp
 programs/progman/progman
+programs/progman/rsrc.res
+programs/regedit/bin.ico
+programs/regedit/computer.ico
+programs/regedit/folder.ico
+programs/regedit/folderopen.ico
 programs/regedit/regedit
+programs/regedit/regedit.ico
+programs/regedit/rsrc.res
+programs/regedit/string.ico
 programs/regsvr32/regsvr32
+programs/regsvr32/regsvr32.res
 programs/rpcss/rpcss
 programs/rundll32/rundll32
+programs/start/rsrc.res
 programs/start/start
+programs/taskmgr/font.bmp
 programs/taskmgr/taskmgr
+programs/taskmgr/taskmgr.ico
+programs/taskmgr/taskmgr.res
+programs/taskmgr/trayicon.bmp
+programs/taskmgr/traymask.bmp
+programs/taskmgr/window.ico
+programs/taskmgr/windowsm.ico
+programs/uninstaller/rsrc.res
 programs/uninstaller/uninstaller
+programs/uninstaller/uninstaller.ico
 programs/view/view
+programs/view/viewrc.res
 programs/wineapploader
 programs/wineboot/wineboot
 programs/winebrowser/winebrowser
+programs/winecfg/idb_checkbox.bmp
+programs/winecfg/idb_wine.bmp
 programs/winecfg/winecfg
+programs/winecfg/winecfg.res
 programs/wineconsole/wineconsole
+programs/wineconsole/wineconsole_res.res
+programs/winedbg/dbg.tab.c
+programs/winedbg/dbg.tab.h
+programs/winedbg/debug.yy.c
 programs/winedbg/winedbg
 programs/winedbg/winedbg.man
+programs/winefile/drivebar.bmp
+programs/winefile/images.bmp
+programs/winefile/rsrc.res
+programs/winefile/toolbar.bmp
 programs/winefile/winefile
+programs/winefile/winefile.ico
 programs/winelauncher
 programs/winemenubuilder/winemenubuilder
+programs/winemine/faces.bmp
+programs/winemine/leds.bmp
+programs/winemine/mines.bmp
+programs/winemine/rsrc.res
 programs/winemine/winemine
+programs/winemine/winemine.ico
 programs/winepath/winepath
 programs/winetest/advapi32_test.exe
 programs/winetest/advpack_test.exe
@@ -288,15 +606,21 @@ programs/winetest/user32_test.exe
 programs/winetest/usp10_test.exe
 programs/winetest/uxtheme_test.exe
 programs/winetest/version_test.exe
+programs/winetest/wine.ico
 programs/winetest/winetest
+programs/winetest/winetest.res
 programs/winetest/wininet_test.exe
 programs/winetest/winmm_test.exe
 programs/winetest/winspool.drv_test.exe
 programs/winetest/wintrust_test.exe
 programs/winetest/ws2_32_test.exe
 programs/winevdm/winevdm
+programs/winhelp/macro.lex.yy.c
+programs/winhelp/rsrc.res
 programs/winhelp/winhelp
 programs/winver/winver
+programs/wordpad/rsrc.res
+programs/wordpad/toolbar.bmp
 programs/wordpad/wordpad
 server/wineserver
 server/wineserver.man
@@ -307,6 +631,9 @@ tools/make_ctests
 tools/makedep
 tools/relpath
 tools/sfnt2fnt
+tools/widl/parser.tab.c
+tools/widl/parser.tab.h
+tools/widl/parser.yy.c
 tools/widl/widl
 tools/widl/widl.man
 tools/winebuild/winebuild
@@ -320,7 +647,12 @@ tools/winegcc/winegcc.man
 tools/winemaker.man
 tools/wineprefixcreate
 tools/wineprefixcreate.man
+tools/wmc/mcy.tab.c
+tools/wmc/mcy.tab.h
 tools/wmc/wmc
 tools/wmc/wmc.man
+tools/wrc/parser.tab.c
+tools/wrc/parser.tab.h
+tools/wrc/parser.yy.c
 tools/wrc/wrc
 tools/wrc/wrc.man
diff --git a/tools/make_makefiles b/tools/make_makefiles
index db86f3c75ac..4147ff972d6 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -70,18 +70,7 @@ my %special_dlls =
 # Default patterns for top-level .gitignore
 my @ignores = (
     "*.[oa]",
-    "*.avi",
-    "*.bmp",
-    "*.chm",
-    "*.cur",
-    "*.ico",
-    "*.mc.rc",
-    "*.res",
     "*.so",
-    "*.tab.[ch]",
-    "*.tlb",
-    "*.yy.c",
-    "*_[cips].c",
     "/autom4te.cache",
     "/config.cache",
     "/config.log",
@@ -91,6 +80,21 @@ my @ignores = (
     "Makefile"
 );
 
+# Source files and their resulting target to ignore
+my @ignore_srcs = (
+    [ 'BISON_SRCS',   '\.y',   '.tab.c' ],
+    [ 'BISON_SRCS',   '\.y',   '.tab.h' ],
+    [ 'LEX_SRCS',     '\.l',   '.yy.c' ],
+    [ 'MC_SRCS',      '\.mc',  '.mc.rc' ],
+    [ 'RC_SRCS',      '\.rc',  '.res' ],
+    [ 'RC_SRCS16',    '\.rc',  '.res' ],
+    [ 'IDL_TLB_SRCS', '\.idl', '.tlb' ],
+    [ 'IDL_C_SRCS',   '\.idl', '_c.c' ],
+    [ 'IDL_I_SRCS',   '\.idl', '_i.c' ],
+    [ 'IDL_P_SRCS',   '\.idl', '_p.c' ],
+    [ 'IDL_S_SRCS',   '\.idl', '_s.c' ],
+);
+
 my (@makefiles, %makefiles);
 
 # update a file if changed
@@ -177,7 +181,7 @@ sub parse_makefile($)
             $make{$1} = $2;
             next;
         }
-        if (/^(IDL_H_SRCS|IMPLIB_SRCS|SPEC_SRCS16|MANPAGES|PROGRAMS)\s*=\s*(.*)/)
+        if (/^(BISON_SRCS|LEX_SRCS|IDL_[CHIPS]_SRCS|IDL_TLB_SRCS|IMPLIB_SRCS|MC_SRCS|RC_SRCS|RC_SRCS16|RC_BINARIES|SPEC_SRCS16|MANPAGES|PROGRAMS)\s*=\s*(.*)/)
         {
             my @list = split(/\s+/, $2);
             $make{$1} = \@list;
@@ -259,36 +263,65 @@ sub update_winetest(@)
 ################################################################
 # update the makefile list in Makefile.in
 
-my @targets;
-my @depends;
-
-foreach my $file (sort values %makerules)
+sub update_makefiles(@)
 {
-    push @targets, $file;
-    my %make = %{$makefiles{$file}};
-    if (!defined($make{"=rules"})) { push @depends, "$file: $file.in"; }
-    else { push @depends, "$file: $file.in Make.rules"; }
+    my (@targets, @depends);
+
+    foreach my $file (sort values %makerules)
+    {
+        push @targets, $file;
+        my %make = %{$makefiles{$file}};
+        if (!defined($make{"=rules"})) { push @depends, "$file: $file.in"; }
+        else { push @depends, "$file: $file.in Make.rules"; }
+    }
+
+    foreach my $file (sort @_)
+    {
+        push @targets, $file unless $file eq "Makefile";
+        my %makefile = %{$makefiles{$file}};
+        my $dep = $makefile{"=rules"};
+        push @depends, "$file: $file.in $dep";
+    }
+
+
+    @lines = ();
+    push @lines, "ALL_MAKEFILES = \\\n\t";
+    push @lines, join (" \\\n\t", @targets ), "\n\n";
+    push @lines, "Makefile \$(ALL_MAKEFILES): config.status\n";
+    push @lines, "\t\@./config.status \$\@\n\n";
+    push @lines, "\$(RECURSE_TARGETS) \$(MAKEDEP): \$(ALL_MAKEFILES)\n\n";
+    push @lines, "distclean::\n";
+    push @lines, "\t\$(RM) Makefile \$(ALL_MAKEFILES)\n\n";
+    push @lines, join ("\n", @depends ), "\n";
+
+    replace_in_file( "Makefile.in", '^ALL_MAKEFILES\s*=', undef, @lines );
 }
 
-foreach my $file (sort @makefiles)
+
+################################################################
+# process ignore targets for generic source files
+
+sub update_ignores(@)
 {
-    push @targets, $file unless $file eq "Makefile";
-    my $dep = ${$makefiles{$file}}{"=rules"};
-    push @depends, "$file: $file.in $dep";
-}
+    my @ignores;
 
-@lines = ();
-push @lines, "ALL_MAKEFILES = \\\n\t";
-push @lines, join (" \\\n\t", @targets ), "\n\n";
-push @lines, "Makefile \$(ALL_MAKEFILES): config.status\n";
-push @lines, "\t\@./config.status \$\@\n\n";
-push @lines, "\$(RECURSE_TARGETS) \$(MAKEDEP): \$(ALL_MAKEFILES)\n\n";
-push @lines, "distclean::\n";
-push @lines, "\t\$(RM) Makefile \$(ALL_MAKEFILES)\n\n";
-push @lines, join ("\n", @depends ), "\n";
+    foreach my $file (sort @_)
+    {
+        my %makefile = %{$makefiles{$file}};
+        my @list;
 
-replace_in_file( "Makefile.in", '^ALL_MAKEFILES\s*=', undef, @lines );
+        foreach my $src (@ignore_srcs)
+        {
+            my @pattern = @{$src};
+            next unless defined $makefile{$pattern[0]};
+            push @list, map { (my $ret = $_) =~ s/$pattern[1]$/$pattern[2]/; $ret; } @{$makefile{$pattern[0]}};
+        }
+        push @list, @{$makefile{"RC_BINARIES"}} if defined $makefile{"RC_BINARIES"};
 
+        push @ignores, map { $makefile{"=dir"} . $_; } @list;
+    }
+    return @ignores;
+}
 
 ################################################################
 # update dlls/Makefile.in
@@ -613,6 +646,8 @@ sub update_gitignore(@)
 }
 
 
+update_makefiles( @makefiles );
+push @ignores, update_ignores( @makefiles );
 push @ignores, update_winetest( @makefiles );
 push @ignores, update_dlls( sort grep /^dlls\//, @makefiles );
 push @ignores, update_progs( sort grep /^programs\/.*\/Makefile$/, @makefiles );
-- 
GitLab