configure: Build the import libraries without recursing when possible.
diff --git a/configure b/configure
index c8b1709..d62ffa8 100755
--- a/configure
+++ b/configure
@@ -14091,6 +14091,11 @@
     ac_implibsrc=$4
     ac_file="dlls/$ac_dir/lib$ac_implib"
     ac_deps="tools/widl tools/winebuild tools/winegcc include"
+    ac_implibflags=""
+
+    case $ac_dir in
+      *16) ac_implibflags=" -m16" ;;
+    esac
 
     wine_fn_all_dir_rules dlls/$ac_dir "dlls/Makedll.rules \$(MAKEDEP)"
 
@@ -14134,16 +14139,18 @@
     then
         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
 "__builddeps__: $ac_file.$IMPLIBEXT
-$ac_file.$IMPLIBEXT: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile $ac_deps
-	@cd dlls/$ac_dir && \$(MAKE) lib$ac_implib.$IMPLIBEXT
+$ac_file.def: dlls/$ac_dir/$ac_dir.spec \$(WINEBUILD)
+	\$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$@ --export \$(SRCDIR)/dlls/$ac_dir/$ac_dir.spec
+$ac_file.a: dlls/$ac_dir/$ac_dir.spec \$(WINEBUILD)
+	\$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$@ --export \$(SRCDIR)/dlls/$ac_dir/$ac_dir.spec
 install-dev:: dlls/$ac_dir/Makefile __builddeps__
 	@cd dlls/$ac_dir && \$(MAKE) install-dev"
         if test "x$CROSSTEST_DISABLE" = x
         then
             wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
 "__builddeps__: $ac_file.cross.a
-$ac_file.cross.a: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile $ac_deps
-	@cd dlls/$ac_dir && \$(MAKE) lib$ac_implib.cross.a"
+$ac_file.cross.a: dlls/$ac_dir/$ac_dir.spec \$(WINEBUILD)
+	\$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$@ --export \$(SRCDIR)/dlls/$ac_dir/$ac_dir.spec"
         fi
 
         if test "$ac_dir" != "$ac_implib"
@@ -14270,6 +14277,9 @@
 .PHONY: $ac_dir
 $ac_dir: $ac_dir/Makefile libs/port dummy
 	@cd $ac_dir && \$(MAKE)"
+      case $ac_dir in
+        tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
+      esac
 fi
 }