diff --git a/src/makefiles/Makefile.unixware b/src/makefiles/Makefile.unixware
index 0a437c9b0c38378a145740a1bbbe578b6410124d..f394e6191381dbebbb3c29a6302a6ac40729889b 100644
--- a/src/makefiles/Makefile.unixware
+++ b/src/makefiles/Makefile.unixware
@@ -16,8 +16,13 @@ CXXFLAGS_SL = -fpic
 else
 CXXFLAGS_SL = -K PIC
 endif
+ifeq ($(GCC), yes)
+SO_FLAGS = -shared
+else
+SO_FLAGS = -G
+endif
 
 %.so: %.o
-	$(LD) -G -Bdynamic -o $@ $<
+	$(CC) $(SO_FLAGS) -Bdynamic -o $@ $<
 
 sqlmansect = 5sql