diff --git a/src/Makefile b/src/Makefile
index 6651b74ebffc79bc5c0cd7308028c75eaacd27a8..ec07dbabb232b95081b6c26dc4bf0cf00c04be5a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -3,25 +3,33 @@ AMDAPPSDKROOT ?= /opt/AMDAPP
 CXX ?= g++
 AR ?= ar
 
-TARGET = libclfft.a
-TARGET2 = libclfft.so
+TARGET = libeclfft.a
+TARGET2 = libeclfft.so
 
 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
+	LDFLAGS += -framework OpenCL
 endif
 
 OBJECTS = fft_setup.o fft_execute.o fft_kernelstring.o
 
 PREFIX ?= "."
 
+default: static shared
+
+static: $(TARGET)
+
+shared: $(TARGET2)
+
 $(TARGET): $(OBJECTS)
 	$(AR) rcs $(TARGET) $(OBJECTS)
-	$(CXX) -shared -o $(TARGET2) $(OBJECTS)
 	mkdir -p ../lib
-	cp $(TARGET) ../lib/
-	cp $(TARGET2) ../lib/
+	cp $(TARGET) ../lib/libclfft.a
+
+$(TARGET2): $(OBJECTS)
+	$(CXX) $(LDFLAGS) -shared -o $(TARGET2) $(OBJECTS)
 
 fft_setup.o: fft_setup.cpp fft_internal.h fft_base_kernels.h
 	$(CXX) $(CXXFLAGS) -c fft_setup.cpp
@@ -35,9 +43,7 @@ fft_kernelstring.o: fft_kernelstring.cpp ../include/clFFT.h fft_internal.h
 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
+	cp  libeclfft.* $(PREFIX)/lib/
 
 clean:
-	rm -f *.o
-	rm -f *.a
+	rm -f *.o *.a *.so