Alexandre Julliard : make_makefiles: Generate the tests list in
programs/ winetest/Makefile.in.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Aug 28 05:09:30 CDT 2006
Module: wine
Branch: master
Commit: 27959bebd7d60aa44814f927f6c6ec7ce056eae0
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=27959bebd7d60aa44814f927f6c6ec7ce056eae0
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Aug 28 11:58:31 2006 +0200
make_makefiles: Generate the tests list in programs/winetest/Makefile.in.
---
programs/winetest/Makefile.in | 74 +++++++++++++++++++++--------------------
tools/make_makefiles | 30 +++++++++++++++++
2 files changed, 67 insertions(+), 37 deletions(-)
diff --git a/programs/winetest/Makefile.in b/programs/winetest/Makefile.in
index 924ebbd..753e275 100644
--- a/programs/winetest/Makefile.in
+++ b/programs/winetest/Makefile.in
@@ -18,6 +18,10 @@ RC_SRCS = \
RC_BINSRC = winetest.rc
RC_BINARIES = wine.ico
+ at MAKE_PROG_RULES@
+
+# List of test executables (auto-generated by make_makefiles)
+
TESTBINS = \
advapi32_test.exe$(DLLEXT) \
advpack_test.exe$(DLLEXT) \
@@ -72,43 +76,10 @@ TESTBINS = \
winspool.drv_test.exe$(DLLEXT) \
ws2_32_test.exe$(DLLEXT)
- at MAKE_PROG_RULES@
-
-# Special rules
-
-tests.rc: maketest Makefile.in
- $(SRCDIR)/maketest $(TOPSRCDIR) $(TESTBINS) > $@ || ( $(RM) $@ && exit 1 )
-
-winetest.res: tests.rc $(TESTBINS)
-
-clean::
- $(RM) tests.rc dist.res winetest-dist winetest-dist.exe $(TESTBINS)
-
-depend: tests.rc
-
-# Rules for building distributable executable
-
-.PHONY: dist
-
-dist: winetest-dist.exe$(DLLEXT) winetest-dist$(EXEEXT)
-
-winetest-dist.exe.so: $(OBJS) dist.res Makefile.in
- $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild $(APPMODE) $(OBJS) dist.res -o $@ -L$(DLLDIR) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
-
-winetest-dist: $(WINEWRAPPER)
- $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@
-
-winetest-dist.exe: $(OBJS) dist.res.o Makefile.in
- $(CC) $(APPMODE) $(OBJS) dist.res.o -o $@ $(DELAYIMPORTS:%=-l%) $(ALL_LIBS)
-
-dist.res: winetest.rc tests.rc build.id build.nfo tests.url $(TESTBINS) $(RC_BINARIES)
-
-# Rules for stripping the test executables
-
-advpack_test.exe$(DLLEXT): $(DLLDIR)/advpack/tests/advpack_test.exe$(DLLEXT)
- cp $(DLLDIR)/advpack/tests/advpack_test.exe$(DLLEXT) $@ && $(STRIP) $@
advapi32_test.exe$(DLLEXT): $(DLLDIR)/advapi32/tests/advapi32_test.exe$(DLLEXT)
cp $(DLLDIR)/advapi32/tests/advapi32_test.exe$(DLLEXT) $@ && $(STRIP) $@
+advpack_test.exe$(DLLEXT): $(DLLDIR)/advpack/tests/advpack_test.exe$(DLLEXT)
+ cp $(DLLDIR)/advpack/tests/advpack_test.exe$(DLLEXT) $@ && $(STRIP) $@
cabinet_test.exe$(DLLEXT): $(DLLDIR)/cabinet/tests/cabinet_test.exe$(DLLEXT)
cp $(DLLDIR)/cabinet/tests/cabinet_test.exe$(DLLEXT) $@ && $(STRIP) $@
comcat_test.exe$(DLLEXT): $(DLLDIR)/comcat/tests/comcat_test.exe$(DLLEXT)
@@ -199,10 +170,10 @@ usp10_test.exe$(DLLEXT): $(DLLDIR)/usp10
cp $(DLLDIR)/usp10/tests/usp10_test.exe$(DLLEXT) $@ && $(STRIP) $@
uxtheme_test.exe$(DLLEXT): $(DLLDIR)/uxtheme/tests/uxtheme_test.exe$(DLLEXT)
cp $(DLLDIR)/uxtheme/tests/uxtheme_test.exe$(DLLEXT) $@ && $(STRIP) $@
-wininet_test.exe$(DLLEXT): $(DLLDIR)/wininet/tests/wininet_test.exe$(DLLEXT)
- cp $(DLLDIR)/wininet/tests/wininet_test.exe$(DLLEXT) $@ && $(STRIP) $@
version_test.exe$(DLLEXT): $(DLLDIR)/version/tests/version_test.exe$(DLLEXT)
cp $(DLLDIR)/version/tests/version_test.exe$(DLLEXT) $@ && $(STRIP) $@
+wininet_test.exe$(DLLEXT): $(DLLDIR)/wininet/tests/wininet_test.exe$(DLLEXT)
+ cp $(DLLDIR)/wininet/tests/wininet_test.exe$(DLLEXT) $@ && $(STRIP) $@
winmm_test.exe$(DLLEXT): $(DLLDIR)/winmm/tests/winmm_test.exe$(DLLEXT)
cp $(DLLDIR)/winmm/tests/winmm_test.exe$(DLLEXT) $@ && $(STRIP) $@
winspool.drv_test.exe$(DLLEXT): $(DLLDIR)/winspool.drv/tests/winspool.drv_test.exe$(DLLEXT)
@@ -210,4 +181,33 @@ winspool.drv_test.exe$(DLLEXT): $(DLLDIR
ws2_32_test.exe$(DLLEXT): $(DLLDIR)/ws2_32/tests/ws2_32_test.exe$(DLLEXT)
cp $(DLLDIR)/ws2_32/tests/ws2_32_test.exe$(DLLEXT) $@ && $(STRIP) $@
+# Special rules
+
+tests.rc: maketest Makefile.in
+ $(SRCDIR)/maketest $(TOPSRCDIR) $(TESTBINS) > $@ || ( $(RM) $@ && exit 1 )
+
+winetest.res: tests.rc $(TESTBINS)
+
+clean::
+ $(RM) tests.rc dist.res winetest-dist winetest-dist.exe $(TESTBINS)
+
+depend: tests.rc
+
+# Rules for building distributable executable
+
+.PHONY: dist
+
+dist: winetest-dist.exe$(DLLEXT) winetest-dist$(EXEEXT)
+
+winetest-dist.exe.so: $(OBJS) dist.res Makefile.in
+ $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild $(APPMODE) $(OBJS) dist.res -o $@ -L$(DLLDIR) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
+
+winetest-dist: $(WINEWRAPPER)
+ $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@
+
+winetest-dist.exe: $(OBJS) dist.res.o Makefile.in
+ $(CC) $(APPMODE) $(OBJS) dist.res.o -o $@ $(DELAYIMPORTS:%=-l%) $(ALL_LIBS)
+
+dist.res: winetest.rc tests.rc build.id build.nfo tests.url $(TESTBINS) $(RC_BINARIES)
+
### Dependencies:
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 83411bb..4a2d78e 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -93,6 +93,36 @@ replace_in_file( "configure.ac", '^AC_CO
################################################################
+# update the tests list in programs/winetest/Makefile.in
+
+my %modules = ( "kernel" => "kernel32", "gdi" => "gdi32", "user" => "user32" );
+my %tests;
+my @lines = ( "TESTBINS =" );
+
+foreach my $file (sort grep /^dlls\/.*\/tests\/Makefile/, @makefiles)
+{
+ if ($file =~ /^dlls\/(.*)\/tests\/Makefile/)
+ {
+ my $dir = $1;
+ my $mod = $modules{$dir} || $dir;
+ $tests{$mod} = $dir;
+ push @lines, " \\\n\t${mod}_test.exe\$(DLLEXT)";
+ }
+}
+push @lines, "\n\n";
+
+foreach my $test (sort keys %tests)
+{
+ my $dir = $tests{$test};
+ push @lines, "${test}_test.exe\$(DLLEXT): \$(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";
+
+replace_in_file( "programs/winetest/Makefile.in", '^TESTBINS\s*=', '^# Special rules', @lines );
+
+
+################################################################
# update dlls/Makefile.in
my @dll_makefiles = grep /^dlls\//, @makefiles;
More information about the wine-cvs
mailing list