diff --git a/mk/target.mk b/mk/target.mk
index 7743c421b0d8e190827a3c60af95948a1a98953b..30f719aebff916f3428b8f308f36d252d800250f 100644
--- a/mk/target.mk
+++ b/mk/target.mk
@@ -345,6 +345,22 @@ $(LIBRARY) :: $(LIBOBJS)
 	$(BUILD_LIB)
 endif
 
+#----------------------------------------
+#	Building Win32 DLLs
+#
+ifeq "$(way)" "dll"
+
+ifeq "$(DLL_NAME)" ""
+DLL_NAME = $(patsubst %.a, %.dll, $(subst lib,,$(LIBRARY)))
+endif
+
+all :: $(DLL_NAME)
+
+$(DLL_NAME) :: $(LIBRARY)
+	$(BLD_DLL) --output-lib $(patsubst %.a, %_imp.a, $(LIBRARY)) --output-def $(patsubst %.dll,%.def,$(DLL_NAME)) -o $(DLL_NAME) $(LIBRARY) $(BLD_DLL_OPTS) 
+	touch dLL_ifs.hi
+endif
+
 #----------------------------------------
 #	Script programs