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