--- a/code/Makefile
+++ b/code/Makefile
@@ -93,14 +93,13 @@
 
 libFILES.o=	$(libFILES.c:.c=.o)
 
-all: ${DEST} ${DEST_DIR}/libchaco.a
+all: ${DEST} ${DEST_DIR}/libchaco.so
 
-${DEST}:	${FILES.o} Makefile
-		${CC} ${CFLAGS} ${LDFLAGS} -fPIE ${FILES.o} -lm -o ${DEST}
+${DEST}:	${DEST_DIR}/libchaco.so Makefile
+		${CC} ${CFLAGS} ${LDFLAGS} -fPIE $(main_file) -lm -L${DEST_DIR} -lchaco -o ${DEST}
 
-${DEST_DIR}/libchaco.a:	${libFILES.o} Makefile
-		${AR} r ${DEST_DIR}/libchaco.a ${libFILES.o}
-		${RANLIB} ${DEST_DIR}/libchaco.a
+${DEST_DIR}/libchaco.so:	${libFILES.o} Makefile
+	$(CC) $(CFLAGS) $(LDFLAGS) -fPIC -shared -Wl,-soname,libchaco.so -o ${DEST_DIR}/libchaco.so $(libFILES.o) -lm
 
 lint:
 		lint ${IFLAG} ${FILES.c} -lm
