diff --git a/src/Makefile b/src/Makefile
index f819b139d44f71c8c92dbf534c4c89c5debda382..6651b74ebffc79bc5c0cd7308028c75eaacd27a8 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -4,8 +4,9 @@ CXX ?= g++
 AR ?= ar
 
 TARGET = libclfft.a
+TARGET2 = libclfft.so
 
-CXXFLAGS += -O3 -Wall -g -I$(NVIDIA_SDK_INSTALL_PATH)/OpenCL/common/inc -I$(AMDAPPSDKROOT)/include -I../include
+CXXFLAGS += -O3 -Wall -g -I$(NVIDIA_SDK_INSTALL_PATH)/OpenCL/common/inc -I$(AMDAPPSDKROOT)/include -I../include -fPIC
 OS = $(shell uname -s)
 ifeq ($(OS), Darwin)
 	CXXFLAGS += -I/System/Library/Frameworks
@@ -17,8 +18,10 @@ PREFIX ?= "."
 
 $(TARGET): $(OBJECTS)
 	$(AR) rcs $(TARGET) $(OBJECTS)
+	$(CXX) -shared -o $(TARGET2) $(OBJECTS)
 	mkdir -p ../lib
 	cp $(TARGET) ../lib/
+	cp $(TARGET2) ../lib/
 
 fft_setup.o: fft_setup.cpp fft_internal.h fft_base_kernels.h
 	$(CXX) $(CXXFLAGS) -c fft_setup.cpp
@@ -33,6 +36,7 @@ install: $(TARGET) ../include/clFFT.h
 	mkdir -p $(PREFIX)/lib $(PREFIX)/include
 	cp  ../include/clFFT.h $(PREFIX)/include/eclfft.h
 	cp  $(TARGET) $(PREFIX)/lib/libeclfft.a
+	cp  $(TARGET2) $(PREFIX)/lib/libeclfft.so
 
 clean:
 	rm -f *.o