Build test programs as part of the normal build.

diff --git a/dlls/Makedll.rules.in b/dlls/Makedll.rules.in
index d18ebe7..a21637b 100644
--- a/dlls/Makedll.rules.in
+++ b/dlls/Makedll.rules.in
@@ -18,7 +18,7 @@
 ALL_OBJS    = @WIN16_FILES@ $(OBJS) $(MODULE).dbg.o
 ALL_LIBS    = $(LIBWINE) $(EXTRALIBS) $(LIBS)
 
-all: $(MODULE)$(DLLEXT)
+all: $(MODULE)$(DLLEXT) $(SUBDIRS)
 
 @MAKE_RULES@
 
@@ -65,7 +65,7 @@
 
 crosstest:: $(SUBDIRS:%=%/__crosstest__)
 
-$(TESTRESULTS): $(MODULE)$(DLLEXT)
+$(TESTRESULTS) $(SUBDIRS): $(MODULE)$(DLLEXT)
 
 # Sanity check
 
diff --git a/dlls/Maketest.rules.in b/dlls/Maketest.rules.in
index e15314e..3335112 100644
--- a/dlls/Maketest.rules.in
+++ b/dlls/Maketest.rules.in
@@ -27,10 +27,12 @@
 
 @MAKE_RULES@
 
+all: $(TESTPROGRAM)
+
 # Rule for main module spec file
 
 $(MODULE).spec.c: $(RC_SRCS:.rc=.res) $(OBJS) $(WINEBUILD)
-	$(LDPATH) $(WINEBUILD) $(DEFS) -o $@ -exe $(MODULE) -mcui $(RC_SRCS:%.rc=-r %.res) $(OBJS) -L$(DLLDIR) $(DELAYIMPORTS:%=-d%) $(IMPORTS:%=-l%)
+	$(LDPATH) $(WINEBUILD) $(DEFS) -o $@ -exe $(MODULE) -mcui $(RC_SRCS:%.rc=-r %.res) $(OBJS) -L$(DLLDIR) -L.. $(DELAYIMPORTS:%=-d%) $(IMPORTS:%=-l%)
 
 # Rules for .so main module