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,37 +263,66 @@ 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; + + foreach my $file (sort @_) + { + my %makefile = %{$makefiles{$file}}; + my @list; + + 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; } -@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 ); - - ################################################################ # 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 );