diff --git a/src/uifc/Common.make b/src/uifc/Common.make
new file mode 100644
index 0000000000000000000000000000000000000000..0cfecbbcff7f8b7366002e588d470a97d70a49a7
--- /dev/null
+++ b/src/uifc/Common.make
@@ -0,0 +1,5 @@
+UIFCLIB  =       $(CONIO_SRC)$(DIRSEP)$(LIBODIR)$(DIRSEP)$(LIBPREFIX)uifc$(LIBFILE)
+
+UIFC_CFLAGS   =       -I$(UIFC_SRC)
+UIFC_LDFLAGS  =       -L$(UIFC_SRC)$(DIRSEP)$(LIBODIR)
+
diff --git a/src/uifc/GNUmakefile b/src/uifc/GNUmakefile
index 0e7c9448b1259b0d66d0ee6a9ce2923e5d8c458f..a4780393e6c55bd40621d31d11607f3cc469ee1f 100644
--- a/src/uifc/GNUmakefile
+++ b/src/uifc/GNUmakefile
@@ -1,13 +1,27 @@
-XPDEV		:=	../xpdev/
-UIFC_SRC	:=	./
-NEED_UIFC	:=	1
-USE_UIFC32	:=	1
-NEED_THREADS	:=	1
-
-include $(XPDEV)Common.gmake
-include $(UIFC_SRC)Common.gmake
-
-# Executable Build Rule
-${EXEODIR}/uifctest: $(LIBODIR)/uifctest.o $(OBJS)
-	@echo Linking $@
-	$(QUIET)$(CC) $(CFLAGS) -o $@ $(LDFLAGS) $^
+# 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) $(CIOLIB_CFLAGS)
+
+# UIFC Library Link Rule
+$(UIFCLIB): $(OBJS)
+	@echo Creating $@ ...
+	$(QUIET)ar rc $@ $^
+	$(QUIET)ranlib $@
+
diff --git a/src/uifc/objects.mk b/src/uifc/objects.mk
index 63dcba5f7cb83e8bb7bbe6e6715f38cd14f3f249..b9a20c2abf05511c0f4f7929aa455778ee252917 100644
--- a/src/uifc/objects.mk
+++ b/src/uifc/objects.mk
@@ -1,2 +1,2 @@
-OBJS = $(LIBODIR)$(SLASH)uifc32.$(OFILE) \
-       $(LIBODIR)$(SLASH)uifcx.$(OFILE)
+OBJS = $(OBJODIR)$(DIRSEP)uifc32$(OFILE) \
+       $(OBJODIR)$(DIRSEP)uifcx$(OFILE)
diff --git a/src/uifc/targets.mk b/src/uifc/targets.mk
index 12c19cdf96cfebb1e000a07bfd26b2c83b002d89..98e3afb1be19ae26edb4e866d7a87dc43493d0b8 100644
--- a/src/uifc/targets.mk
+++ b/src/uifc/targets.mk
@@ -1 +1,2 @@
-all: $(EXEODIR) $(LIBODIR) ${EXEODIR}/uifctest
+UIFCLIB	=	$(LIBODIR)$(DIRSEP)$(LIBPREFIX)uifc$(LIBFILE)
+all: $(OBJODIR) $(LIBODIR) $(UIFCLIB)