Commit 6150fe19 authored by Alexandre Julliard's avatar Alexandre Julliard

make_makefiles: Merge the generated gitignores in dlls and programs into the top-level one.

parent 7035aa50
# Automatically generated by make_makefiles; DO NOT EDIT!!
*.[oa]
*.avi
*.bmp
......@@ -11,20 +12,191 @@
*.tlb
*.yy.c
*_[cips].c
*~
/Make.rules
/TAGS
/autom4te.cache
/config.cache
/config.log
/config.status
/tags
Makefile
# Everything below this line is generated by make_makefiles
/Make.rules
/wine
Makefile
dlls/*/tests/*.ok
dlls/*/tests/testlist.c
dlls/Makedll.rules
dlls/Makeimplib.rules
dlls/Maketest.rules
dlls/activeds/libactiveds.def
dlls/advapi32/libadvapi32.def
dlls/advpack/libadvpack.def
dlls/atl/atliface.h
dlls/atl/libatl.def
dlls/avicap32/libavicap32.def
dlls/avifil32/libavifil32.def
dlls/avifile.dll16
dlls/cabinet/libcabinet.def
dlls/capi2032/libcapi2032.def
dlls/cards/libcards.def
dlls/cfgmgr32/libcfgmgr32.def
dlls/clusapi/libclusapi.def
dlls/comctl32/libcomctl32.def
dlls/comdlg32/libcomdlg32.def
dlls/comm.drv16
dlls/commdlg.dll16
dlls/compobj.dll16
dlls/compstui/libcompstui.def
dlls/crtdll/libcrtdll.def
dlls/crypt32/libcrypt32.def
dlls/cryptdll/libcryptdll.def
dlls/ctl3d.dll16
dlls/ctl3d32/libctl3d32.def
dlls/ctl3dv2.dll16
dlls/d3d8/libd3d8.def
dlls/d3d9/libd3d9.def
dlls/d3dim/libd3dim.def
dlls/d3drm/libd3drm.def
dlls/d3dx8/libd3dx8.def
dlls/d3dxof/libd3dxof.def
dlls/dbghelp/libdbghelp.def
dlls/dciman32/libdciman32.def
dlls/ddeml.dll16
dlls/ddraw/libddraw.def
dlls/dinput/libdinput.def
dlls/dinput8/libdinput8.def
dlls/dispdib.dll16
dlls/display.drv16
dlls/dmusic32/libdmusic32.def
dlls/dnsapi/libdnsapi.def
dlls/dplay/libdplay.def
dlls/dplayx/libdplayx.def
dlls/dpnet/libdpnet.def
dlls/dsound/libdsound.def
dlls/gdi.exe16
dlls/gdi32/libgdi32.def
dlls/glu32/libglu32.def
dlls/hid/libhid.def
dlls/hlink/libhlink.def
dlls/icmp/libicmp.def
dlls/imagehlp/libimagehlp.def
dlls/imm.dll16
dlls/imm32/libimm32.def
dlls/iphlpapi/libiphlpapi.def
dlls/kernel32/libkernel32.def
dlls/keyboard.drv16
dlls/krnl386.exe16
dlls/libwinspool.def
dlls/lz32/liblz32.def
dlls/lzexpand.dll16
dlls/mapi32/libmapi32.def
dlls/mlang/libmlang.def
dlls/mmsystem.dll16
dlls/mouse.drv16
dlls/mpr/libmpr.def
dlls/mprapi/libmprapi.def
dlls/msacm.dll16
dlls/msacm32/libmsacm32.def
dlls/mscms/libmscms.def
dlls/msdmo/libmsdmo.def
dlls/mshtml/libmshtml.def
dlls/mshtml/nsiface.h
dlls/msi/libmsi.def
dlls/msimg32/libmsimg32.def
dlls/msvcrt/libmsvcrt.def
dlls/msvcrt20/libmsvcrt20.def
dlls/msvcrt40/libmsvcrt40.def
dlls/msvcrtd/libmsvcrtd.def
dlls/msvfw32/libmsvfw32.def
dlls/msvideo.dll16
dlls/mswsock/libmswsock.def
dlls/nddeapi/libnddeapi.def
dlls/netapi32/libnetapi32.def
dlls/newdev/libnewdev.def
dlls/ntdll/libntdll.def
dlls/ntdsapi/libntdsapi.def
dlls/odbc32/libodbc32.def
dlls/odbccp32/libodbccp32.def
dlls/ole2.dll16
dlls/ole2conv.dll16
dlls/ole2disp.dll16
dlls/ole2nls.dll16
dlls/ole2prox.dll16
dlls/ole2thk.dll16
dlls/ole32/dcom.h
dlls/ole32/libole32.def
dlls/oleacc/liboleacc.def
dlls/oleaut32/liboleaut32.def
dlls/olecli.dll16
dlls/olecli32/libolecli32.def
dlls/oledlg/liboledlg.def
dlls/olepro32/libolepro32.def
dlls/olesvr.dll16
dlls/olesvr32/libolesvr32.def
dlls/opengl32/libopengl32.def
dlls/powrprof/libpowrprof.def
dlls/psapi/libpsapi.def
dlls/quartz/libquartz.def
dlls/rasapi16.dll16
dlls/rasapi32/librasapi32.def
dlls/resutils/libresutils.def
dlls/riched20/libriched20.def
dlls/rpcrt4/librpcrt4.def
dlls/rsaenh/librsaenh.def
dlls/secur32/libsecur32.def
dlls/sensapi/libsensapi.def
dlls/serialui/libserialui.def
dlls/setupapi/libsetupapi.def
dlls/setupx.dll16
dlls/sfc/libsfc.def
dlls/shdocvw/libshdocvw.def
dlls/shell.dll16
dlls/shell32/libshell32.def
dlls/shfolder/libshfolder.def
dlls/shlwapi/libshlwapi.def
dlls/snmpapi/libsnmpapi.def
dlls/sound.drv16
dlls/sti/libsti.def
dlls/storage.dll16
dlls/stress.dll16
dlls/system.drv16
dlls/tapi32/libtapi32.def
dlls/toolhelp.dll16
dlls/twain.dll16
dlls/typelib.dll16
dlls/unicows/libunicows.def
dlls/url/liburl.def
dlls/urlmon/liburlmon.def
dlls/user.exe16
dlls/user32/libuser32.def
dlls/usp10/libusp10.def
dlls/uxtheme/libuxtheme.def
dlls/vdmdbg/libvdmdbg.def
dlls/ver.dll16
dlls/version/libversion.def
dlls/w32sys.dll16
dlls/win32s16.dll16
dlls/win87em.dll16
dlls/winaspi.dll16
dlls/windebug.dll16
dlls/wined3d/libwined3d.def
dlls/winedos/libwinedos.def
dlls/wineps16.drv16
dlls/wing.dll16
dlls/wininet/libwininet.def
dlls/winmm/libwinmm.def
dlls/winnls.dll16
dlls/winnls32/libwinnls32.def
dlls/winsock.dll16
dlls/winspool.drv/libwinspool.def
dlls/wintab.dll16
dlls/wintab32/libwintab32.def
dlls/wintrust/libwintrust.def
dlls/wldap32/libwldap32.def
dlls/wnaspi32/libwnaspi32.def
dlls/wow32/libwow32.def
dlls/wprocs.dll16
dlls/ws2_32/libws2_32.def
dlls/wsock32/libwsock32.def
dlls/wtsapi32/libwtsapi32.def
loader/wine
loader/wine-glibc
loader/wine-kthread
......@@ -32,9 +204,100 @@ loader/wine-preloader
loader/wine-pthread
loader/wine.man
programs/Makeprog.rules
programs/clock/clock
programs/cmd/cmd
programs/cmdlgtst/cmdlgtst
programs/control/control
programs/eject/eject
programs/expand/expand
programs/explorer/explorer
programs/hh/hh
programs/icinfo/icinfo
programs/iexplore/iexplore
programs/msiexec/msiexec
programs/notepad/notepad
programs/oleview/oleview
programs/progman/progman
programs/regedit/regedit
programs/regsvr32/regsvr32
programs/rpcss/rpcss
programs/rundll32/rundll32
programs/start/start
programs/taskmgr/taskmgr
programs/uninstaller/uninstaller
programs/view/view
programs/wineapploader
programs/wineboot/wineboot
programs/winebrowser/winebrowser
programs/winecfg/winecfg
programs/wineconsole/wineconsole
programs/winedbg/winedbg
programs/winedbg/winedbg.man
programs/winefile/winefile
programs/winelauncher
programs/winemenubuilder/winemenubuilder
programs/winemine/winemine
programs/winepath/winepath
programs/winetest/advapi32_test.exe
programs/winetest/advpack_test.exe
programs/winetest/cabinet_test.exe
programs/winetest/comcat_test.exe
programs/winetest/comctl32_test.exe
programs/winetest/comdlg32_test.exe
programs/winetest/crypt32_test.exe
programs/winetest/d3d8_test.exe
programs/winetest/d3d9_test.exe
programs/winetest/ddraw_test.exe
programs/winetest/dinput_test.exe
programs/winetest/dnsapi_test.exe
programs/winetest/dsound_test.exe
programs/winetest/gdi32_test.exe
programs/winetest/hlink_test.exe
programs/winetest/infosoft_test.exe
programs/winetest/iphlpapi_test.exe
programs/winetest/itss_test.exe
programs/winetest/kernel32_test.exe
programs/winetest/localspl_test.exe
programs/winetest/lz32_test.exe
programs/winetest/mapi32_test.exe
programs/winetest/mlang_test.exe
programs/winetest/msacm32_test.exe
programs/winetest/mscms_test.exe
programs/winetest/mshtml_test.exe
programs/winetest/msi_test.exe
programs/winetest/msvcrt_test.exe
programs/winetest/msvcrtd_test.exe
programs/winetest/msxml3_test.exe
programs/winetest/netapi32_test.exe
programs/winetest/ntdll_test.exe
programs/winetest/ole32_test.exe
programs/winetest/oleaut32_test.exe
programs/winetest/psapi_test.exe
programs/winetest/quartz_test.exe
programs/winetest/riched20_test.exe
programs/winetest/rpcrt4_test.exe
programs/winetest/rsabase_test.exe
programs/winetest/rsaenh_test.exe
programs/winetest/secur32_test.exe
programs/winetest/setupapi_test.exe
programs/winetest/shdocvw_test.exe
programs/winetest/shell32_test.exe
programs/winetest/shlwapi_test.exe
programs/winetest/urlmon_test.exe
programs/winetest/user32_test.exe
programs/winetest/usp10_test.exe
programs/winetest/uxtheme_test.exe
programs/winetest/version_test.exe
programs/winetest/winetest
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/winhelp
programs/winver/winver
programs/wordpad/wordpad
server/wineserver
server/wineserver.man
tools/bin2res
......
# Automatically generated by make_makefiles; DO NOT EDIT!!
*/tests/*.ok
*/tests/testlist.c
/avifile.dll16
/comm.drv16
/commdlg.dll16
/compobj.dll16
/ctl3d.dll16
/ctl3dv2.dll16
/ddeml.dll16
/dispdib.dll16
/display.drv16
/gdi.exe16
/imm.dll16
/keyboard.drv16
/krnl386.exe16
/libwinspool.def
/lzexpand.dll16
/mmsystem.dll16
/mouse.drv16
/msacm.dll16
/msvideo.dll16
/ole2.dll16
/ole2conv.dll16
/ole2disp.dll16
/ole2nls.dll16
/ole2prox.dll16
/ole2thk.dll16
/olecli.dll16
/olesvr.dll16
/rasapi16.dll16
/setupx.dll16
/shell.dll16
/sound.drv16
/storage.dll16
/stress.dll16
/system.drv16
/toolhelp.dll16
/twain.dll16
/typelib.dll16
/user.exe16
/ver.dll16
/w32sys.dll16
/win32s16.dll16
/win87em.dll16
/winaspi.dll16
/windebug.dll16
/wineps16.drv16
/wing.dll16
/winnls.dll16
/winsock.dll16
/wintab.dll16
/wprocs.dll16
activeds/libactiveds.def
advapi32/libadvapi32.def
advpack/libadvpack.def
atl/atliface.h
atl/libatl.def
avicap32/libavicap32.def
avifil32/libavifil32.def
cabinet/libcabinet.def
capi2032/libcapi2032.def
cards/libcards.def
cfgmgr32/libcfgmgr32.def
clusapi/libclusapi.def
comctl32/libcomctl32.def
comdlg32/libcomdlg32.def
compstui/libcompstui.def
crtdll/libcrtdll.def
crypt32/libcrypt32.def
cryptdll/libcryptdll.def
ctl3d32/libctl3d32.def
d3d8/libd3d8.def
d3d9/libd3d9.def
d3dim/libd3dim.def
d3drm/libd3drm.def
d3dx8/libd3dx8.def
d3dxof/libd3dxof.def
dbghelp/libdbghelp.def
dciman32/libdciman32.def
ddraw/libddraw.def
dinput/libdinput.def
dinput8/libdinput8.def
dmusic32/libdmusic32.def
dnsapi/libdnsapi.def
dplay/libdplay.def
dplayx/libdplayx.def
dpnet/libdpnet.def
dsound/libdsound.def
gdi32/libgdi32.def
glu32/libglu32.def
hid/libhid.def
hlink/libhlink.def
icmp/libicmp.def
imagehlp/libimagehlp.def
imm32/libimm32.def
iphlpapi/libiphlpapi.def
kernel32/libkernel32.def
lz32/liblz32.def
mapi32/libmapi32.def
mlang/libmlang.def
mpr/libmpr.def
mprapi/libmprapi.def
msacm32/libmsacm32.def
mscms/libmscms.def
msdmo/libmsdmo.def
mshtml/libmshtml.def
mshtml/nsiface.h
msi/libmsi.def
msimg32/libmsimg32.def
msvcrt/libmsvcrt.def
msvcrt20/libmsvcrt20.def
msvcrt40/libmsvcrt40.def
msvcrtd/libmsvcrtd.def
msvfw32/libmsvfw32.def
mswsock/libmswsock.def
nddeapi/libnddeapi.def
netapi32/libnetapi32.def
newdev/libnewdev.def
ntdll/libntdll.def
ntdsapi/libntdsapi.def
odbc32/libodbc32.def
odbccp32/libodbccp32.def
ole32/dcom.h
ole32/libole32.def
oleacc/liboleacc.def
oleaut32/liboleaut32.def
olecli32/libolecli32.def
oledlg/liboledlg.def
olepro32/libolepro32.def
olesvr32/libolesvr32.def
opengl32/libopengl32.def
powrprof/libpowrprof.def
psapi/libpsapi.def
quartz/libquartz.def
rasapi32/librasapi32.def
resutils/libresutils.def
riched20/libriched20.def
rpcrt4/librpcrt4.def
rsaenh/librsaenh.def
secur32/libsecur32.def
sensapi/libsensapi.def
serialui/libserialui.def
setupapi/libsetupapi.def
sfc/libsfc.def
shdocvw/libshdocvw.def
shell32/libshell32.def
shfolder/libshfolder.def
shlwapi/libshlwapi.def
snmpapi/libsnmpapi.def
sti/libsti.def
tapi32/libtapi32.def
unicows/libunicows.def
url/liburl.def
urlmon/liburlmon.def
user32/libuser32.def
usp10/libusp10.def
uxtheme/libuxtheme.def
vdmdbg/libvdmdbg.def
version/libversion.def
wined3d/libwined3d.def
winedos/libwinedos.def
wininet/libwininet.def
winmm/libwinmm.def
winnls32/libwinnls32.def
winspool.drv/libwinspool.def
wintab32/libwintab32.def
wintrust/libwintrust.def
wldap32/libwldap32.def
wnaspi32/libwnaspi32.def
wow32/libwow32.def
ws2_32/libws2_32.def
wsock32/libwsock32.def
wtsapi32/libwtsapi32.def
# Automatically generated by make_makefiles; DO NOT EDIT!!
clock/clock
cmd/cmd
cmdlgtst/cmdlgtst
control/control
eject/eject
expand/expand
explorer/explorer
hh/hh
icinfo/icinfo
iexplore/iexplore
msiexec/msiexec
notepad/notepad
oleview/oleview
progman/progman
regedit/regedit
regsvr32/regsvr32
rpcss/rpcss
rundll32/rundll32
start/start
taskmgr/taskmgr
uninstaller/uninstaller
view/view
wineboot/wineboot
winebrowser/winebrowser
winecfg/winecfg
wineconsole/wineconsole
winedbg/winedbg
winefile/winefile
winemenubuilder/winemenubuilder
winemine/winemine
winepath/winepath
winetest/winetest
winevdm/winevdm
winhelp/winhelp
winver/winver
wordpad/wordpad
......@@ -67,6 +67,30 @@ my %special_dlls =
"winequartz.drv" => "QUARTZFILES"
);
# 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",
"/config.status",
"/TAGS",
"/tags",
"Makefile"
);
my (@makefiles, %makefiles);
# update a file if changed
......@@ -203,39 +227,34 @@ replace_in_file( "configure.ac", '^MAKE_RULES', '\]\)$',
################################################################
# update the tests list in programs/winetest/Makefile.in and programs/winetest/winetest.rc
my %modules = ( "user" => "user32" );
my %tests;
@lines = ( "TESTBINS =" );
foreach my $file (sort grep /^dlls\/.*\/tests\/Makefile/, @makefiles)
sub update_winetest(@)
{
if ($file =~ /^dlls\/(.*)\/tests\/Makefile/)
my (@tests, @lines);
foreach my $file (@_)
{
my $dir = $1;
my $mod = $modules{$dir} || $dir;
$tests{$mod} = $dir;
push @lines, " \\\n\t${mod}_test.exe";
if ($file =~ /^dlls\/(.*)\/tests\/Makefile/) { push @tests, $1; }
}
}
push @lines, "\n\n";
push @lines, "TESTBINS =";
push @lines, map { " \\\n\t" . $_ . "_test.exe"; } sort @tests;
push @lines, "\n\n";
foreach my $test (sort keys %tests)
{
my $dir = $tests{$test};
push @lines, "${test}_test.exe: \$(DLLDIR)/$dir/tests/${test}_test.exe\$(DLLEXT)\n";
push @lines, "\tcp \$(DLLDIR)/$dir/tests/${test}_test.exe\$(DLLEXT) \$\@ && \$(STRIP) \$\@\n";
}
push @lines, "\n# Special rules\n";
foreach my $test (sort @tests)
{
push @lines, "${test}_test.exe: \$(DLLDIR)/$test/tests/${test}_test.exe\$(DLLEXT)\n";
push @lines, "\tcp \$(DLLDIR)/$test/tests/${test}_test.exe\$(DLLEXT) \$\@ && \$(STRIP) \$\@\n";
}
push @lines, "\n# Special rules\n";
replace_in_file( "programs/winetest/Makefile.in", '^TESTBINS\s*=', '^# Special rules', @lines );
replace_in_file( "programs/winetest/Makefile.in", '^TESTBINS\s*=', '^# Special rules', @lines );
@lines = ();
foreach my $test (sort keys %tests)
{
push @lines, "${test}_test.exe TESTRES \"${test}_test.exe\"\n";
replace_in_file( "programs/winetest/winetest.rc", ' TESTRES ', undef,
map { $_ . "_test.exe TESTRES \"" . $_ . "_test.exe\"\n"; } sort @tests );
# return a list of test exe files for .gitignore
return map { "programs/winetest/" . $_ . "_test.exe"; } sort @tests;
}
replace_in_file( "programs/winetest/winetest.rc", ' TESTRES ', undef, @lines );
################################################################
# update the makefile list in Makefile.in
......@@ -281,8 +300,8 @@ sub update_dlls(@)
my @ignores =
(
"*/tests/testlist.c",
"*/tests/*.ok",
"dlls/*/tests/testlist.c",
"dlls/*/tests/*.ok",
);
sub needs_symlink($$)
......@@ -337,7 +356,7 @@ sub update_dlls(@)
if (defined $makefile{"IDL_H_SRCS"})
{
push @ignores, map { $_ =~ s/(.*)\.idl$/$dir\/$1.h/; $_; } @{$makefile{"IDL_H_SRCS"}};
push @ignores, map { $_ =~ s/(.*)\.idl$/dlls\/$dir\/$1.h/; $_; } @{$makefile{"IDL_H_SRCS"}};
}
}
......@@ -508,29 +527,27 @@ sub update_dlls(@)
foreach my $mod (sort @lib_symlinks)
{
push @ignores, "/$importlibs{$mod}.def";
push @ignores, "dlls/$importlibs{$mod}.def";
}
foreach my $mod (sort keys %directories)
{
next unless defined $altnames{$mod};
push @ignores, map { "/" . $_ . "16"; } @{$altnames{$mod}};
push @ignores, map { "dlls/" . $_ . "16"; } @{$altnames{$mod}};
}
foreach my $mod (sort keys %importlibs)
{
my $dir = $directories{$mod};
my $def = $mod;
$def =~ s/\.(dll|drv)$//;
push @ignores, "$dir/lib$def.def";
push @ignores, "dlls/$dir/lib$def.def";
}
replace_in_file( "dlls/.gitignore", undef, undef,
"# Automatically generated by make_makefiles; DO NOT EDIT!!\n",
join("\n", sort @ignores), "\n" );
return @ignores;
}
################################################################
# update programs/Makefile.in and programs/.gitignore
# update programs/Makefile.in
sub update_progs(@)
{
......@@ -546,7 +563,7 @@ sub update_progs(@)
die "Invalid module $module in $make" unless "$dir.exe" eq $module;
next if defined $makefile{"=skip"};
push @subdirs, $dir;
push @ignores, "$dir/$dir";
push @ignores, "programs/$dir/$dir";
push @install_subdirs, $dir unless $dont_install{$dir};
push @install_progs, $dir if $bin_install{$dir};
}
......@@ -560,20 +577,16 @@ sub update_progs(@)
join( " \\\n\t", @install_progs ),
"\n\nINSTALLDIRS = \$(DESTDIR)\$(bindir)\n" );
replace_in_file( "programs/.gitignore", undef, undef,
"# Automatically generated by make_makefiles; DO NOT EDIT!!\n",
join("\n", sort @ignores), "\n" );
return @ignores;
}
################################################################
# update the main .gitignore
sub update_gitignore()
sub update_gitignore(@)
{
my @ignores = ();
push @ignores, values %makerules;
my @ignores = values %makerules;
foreach my $make (@makefiles)
{
......@@ -592,14 +605,15 @@ sub update_gitignore()
# prepend a slash to paths that don't have one
@ignores = map { $_ =~ s/^([^\/]+)$/\/$1/; $_; } @ignores;
replace_in_file( ".gitignore",
'^# Everything below this line is generated by make_makefiles',
undef,
"# Everything below this line is generated by make_makefiles\n",
push @ignores, @_;
replace_in_file( ".gitignore", undef, undef,
"# Automatically generated by make_makefiles; DO NOT EDIT!!\n",
join("\n", sort @ignores), "\n" );
}
update_dlls( sort grep /^dlls\//, @makefiles );
update_progs( sort grep /^programs\/.*\/Makefile$/, @makefiles );
update_gitignore();
push @ignores, update_winetest( @makefiles );
push @ignores, update_dlls( sort grep /^dlls\//, @makefiles );
push @ignores, update_progs( sort grep /^programs\/.*\/Makefile$/, @makefiles );
update_gitignore( @ignores );
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment