diff --git a/src/conio/Common.make b/src/conio/Common.make
index 892516ca7782be6d0f65df45b90d5eda9aa7ec61..bc80e802e74684c509d09e110e318c2dd0109f2a 100644
--- a/src/conio/Common.make
+++ b/src/conio/Common.make
@@ -1,5 +1,5 @@
-CIOLIB-MT	=	$(CIOLIB_SRC)$(DIRSEP)$(LIBODIR)$(DIRSEP)$(LIBPREFIX)ciolib$(LIBFILE)
+CIOLIB-MT	=	$(CIOLIB_SRC)$(DIRSEP)$(LIBODIR)$(DIRSEP)$(LIBPREFIX)ciolib-mt$(LIBFILE)
 
 CIOLIB-MT_CFLAGS	=	-I$(CIOLIB_SRC)
 CIOLIB-MT_LDFLAGS	=	-L$(CIOLIB_SRC)$(DIRSEP)$(LIBODIR)
-CIOLIB-MT_LIBS		=	-lciolib
+CIOLIB-MT_LIBS		=	-lciolib-mt
diff --git a/src/conio/GNUmakefile b/src/conio/GNUmakefile
index b0dd2fb71905ffb126d27067cc6eb38da7d30a5c..52c5ca6cf06796adddefb3fcfb6b44bed2905f91 100644
--- a/src/conio/GNUmakefile
+++ b/src/conio/GNUmakefile
@@ -1,28 +1,14 @@
-# smblib/Makefile
-
-#########################################################################
-# Makefile for Synchronet Message Base Library (SMBLIB)					#
-# For use with Borland C++ Builder 5+ or Borland C++ 5.5 for Win32      #
-# @format.tab-size 4													#
-#																		#
-# usage: make															#
-#########################################################################
-
-# $Id$
-
-# Macros
-#DEBUG	=	1				# Comment out for release (non-debug) version
-
 SRC_ROOT = ..
 # Cross platform/compiler definitions
 include $(SRC_ROOT)/build/Common.gmake	# defines clean and output directory rules
 
-CFLAGS += -I$(XPDEV_SRC) -I$(CIOLIB_SRC)
-OBJS	+=	$(OBJODIR)$(DIRSEP)curs_cio$(OFILE)
+CFLAGS += $(XPDEV-MT_CFLAGS) $(CIOLIB-MT_CFLAGS)
+
+OBJS	+=	$(MTOBJODIR)$(DIRSEP)curs_cio$(OFILE)
 ifndef NO_X
  CFLAGS	+=	-I/usr/X11R6/include
- OBJS	+=	$(OBJODIR)$(DIRSEP)console$(OFILE) \
-			$(OBJODIR)$(DIRSEP)x_cio$(OFILE)
+ OBJS	+=	$(MTOBJODIR)$(DIRSEP)console$(OFILE) \
+			$(MTOBJODIR)$(DIRSEP)x_cio$(OFILE)
 endif
 
 # CIOLIB Library Link Rule
diff --git a/src/conio/Makefile b/src/conio/Makefile
index 613fa91176677704decacbf9ec92119cf402097b..db5ae8cb28a141668d8810ac01da287a8f25ea8b 100644
--- a/src/conio/Makefile
+++ b/src/conio/Makefile
@@ -13,10 +13,6 @@
 # Macros
 #DEBUG	=	1				# Comment out for release (non-debug) version
 
-# Enable auto-dependency checking
-.autodepend
-.cacheautodepend	
-
 SRC_ROOT = ..
 # Cross platform/compiler definitions
 !include ..\build\Common.bmake	# defines clean and output directory rules
diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c
index 9407887b899874be852b796631079423ef5f5236..e9554f80dbbb0419626ceaecb3a9d611e123b9e2 100644
--- a/src/conio/ciolib.c
+++ b/src/conio/ciolib.c
@@ -2,6 +2,8 @@
 #include <stdlib.h>	/* malloc */
 #include <stdio.h>
 
+#include <threadwrap.h>
+
 #define CIOLIB_NO_MACROS
 #include "ciolib.h"
 
@@ -371,10 +373,10 @@ char *ciolib_getpass(const char *prompt)
 	CIOLIB_INIT();
 	
 	ciolib_cputs((char *)prompt);
-	while((ch=getch())!='\n') {
+	while((ch=ciolib_getch())!='\n') {
 		switch(ch) {
 			case 0:	/* Skip extended keys */
-				getch();
+				ciolib_getch();
 				break;
 			case '\r':	/* Skip \r (ToDo: Should this be treeated as a \n? */
 				break;
diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index 25cb53047c85f85a99f49c198ec1328a3b1ff657..96489be13c2ea9d4f6fa84242bf2cb951fdd3446 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -1,3 +1,5 @@
+#include <stdlib.h>
+
 #include <genwrap.h>
 #include <ciolib.h>
 #include <keys.h>
diff --git a/src/conio/mouse.c b/src/conio/mouse.c
index 3bd60727c4685fb0be61cab8c5b29d3b3e9942cf..896457e577da68775af251b93eb5f8156180616f 100644
--- a/src/conio/mouse.c
+++ b/src/conio/mouse.c
@@ -1,3 +1,5 @@
+#include <stdlib.h>
+
 #include <genwrap.h>
 #include <semwrap.h>
 #include <threadwrap.h>
diff --git a/src/conio/objects.mk b/src/conio/objects.mk
index 43f925bba6d957105d818780ee6cc7249df1e5d3..2ad2bc4cb12320ebc11cc6074aa5dcaeb4a7c2a1 100644
--- a/src/conio/objects.mk
+++ b/src/conio/objects.mk
@@ -1,11 +1,3 @@
-# smblib/objects.mk
-
-# Make 'include file' listing object files for SMBLIB
-
-# $Id$
-
-# OBJODIR, DIRSEP, and OFILE must be pre-defined
-
 OBJS	=	$(MTOBJODIR)$(DIRSEP)ansi_cio$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)ciolib$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)cterm$(OFILE)\
diff --git a/src/conio/targets.mk b/src/conio/targets.mk
index 7d4f5a2d0a2448a2c277d5640d61fc6aafada77a..5694aaec0508b8a52accf3ff96771f390a75f5c4 100644
--- a/src/conio/targets.mk
+++ b/src/conio/targets.mk
@@ -1,4 +1,2 @@
 # conio/targets.mk
-default: mtlib
-
-mtlib:	$(LIBODIR) $(CIOLIB-MT)
+mtlib:	$(MTOBJODIR) $(LIBODIR) $(CIOLIB-MT)
diff --git a/src/conio/win32cio.h b/src/conio/win32cio.h
index 34ab0aa771d1d2a0d756adfa3a97433606f53267..13f8814e4f4fd4d3259d3bf5b4d8f3bc1e97aaf4 100644
--- a/src/conio/win32cio.h
+++ b/src/conio/win32cio.h
@@ -30,6 +30,7 @@ int	win32_putch(int);
 int	win32_wherex(void);
 int	win32_wherey(void);
 void	win32_settitle(const char *title);
+int	win32_initciolib(long inmode);
 
 #ifdef __cplusplus
 }