diff --git a/Makefile b/Makefile
index 46f5f3b9658d50fd535745bc97e2ffb16a811905..f88f7bf7654f90d66ec99cddb6ee9f03cfd79cb1 100644
--- a/Makefile
+++ b/Makefile
@@ -107,6 +107,12 @@ bsd_lua: $(ALL_OBJECTS)
 solaris:
 	$(CC) mongoose.c main.c -lnsl -lsocket -o $(PROG) $(CFLAGS)
 
+lib$(PROG).a: $(ALL_OBJECTS)
+	ar cr $@ $(ALL_OBJECTS)
+
+$(PROG).lib: $(ALL_WINOBJS)
+	$(MSVC)/bin/lib /out:$@ $(ALL_WINOBJS)
+
 # For codesign to work in non-interactive mode, unlock login keychain:
 # security unlock ~/Library/Keychains/login.keychain
 # See e.g. http://lists.apple.com/archives/apple-cdsa/2008/Jan/msg00027.html
@@ -120,12 +126,12 @@ Mongoose: mongoose.c main.c
 cocoa: Mongoose
 	V=`perl -lne '/define\s+MONGOOSE_VERSION\s+"(\S+)"/ and print $$1' mongoose.c`; DIR=dmg/Mongoose.app && rm -rf $$DIR && mkdir -p $$DIR/Contents/{MacOS,Resources} && install -m 644 build/mongoose_*.png $$DIR/Contents/Resources/ && install -m 644 build/Info.plist $$DIR/Contents/ && install -m 755 Mongoose $$DIR/Contents/MacOS/ && ln -fs /Applications dmg/ ; hdiutil create Mongoose_$$V.dmg -volname "Mongoose $$V" -srcfolder dmg -ov #; rm -rf dmg
 
-u:
+un:
 	$(CC) test/unit_test.c -o unit_test -I. -I$(LUA) $(LUA_SOURCES) \
           $(CFLAGS) -g -O0
 	./unit_test
 
-w:
+wi:
 	$(CL) test/unit_test.c $(LUA_SOURCES) \
           $(YASSL_SOURCES) $(YASSL_FLAGS) /DNO_SSL_DL \
           $(MSLIB) /out:unit_test.exe
@@ -172,4 +178,3 @@ clean:
 	rm -rf *.o *.core $(PROG) *.obj *.so $(PROG).txt *.dSYM *.tgz \
 	$(PROG).exe *.dll *.lib build/res.o build/res.RES *.dSYM *.zip *.pdb \
 	*.exe *.dmg $(ALL_OBJECTS) $(ALL_WINOBJS)
-
diff --git a/test/test.pl b/test/test.pl
index 0a06285181260296861762394e3e5f79e9d4f6c9..f6bda36cb84b110b277449864e73637c25ad734e 100644
--- a/test/test.pl
+++ b/test/test.pl
@@ -450,7 +450,7 @@ sub do_PUT_test {
 }
 
 sub do_unit_test {
-  my $target = on_windows() ? 'w' : 'u';
+  my $target = on_windows() ? 'wi' : 'un';
   system("make $target") == 0 or fail("Unit test failed!");
 }
 
diff --git a/test/unit_test.c b/test/unit_test.c
index 40c90745228326372c4f9d28159000813f81f7de..e6303d993f7350829e5122e0b237bf742e44b463 100644
--- a/test/unit_test.c
+++ b/test/unit_test.c
@@ -463,7 +463,7 @@ static void test_lua(void) {
                                         &conn.request_info);
   conn.content_len = conn.data_len - conn.request_len;
 
-  prepare_lua_environment(&conn, L);
+  mg_prepare_lua_environment(&conn, L);
   ASSERT(lua_gettop(L) == 0);
 
   check_lua_expr(L, "'hi'", "hi");