diff --git a/Makefile b/Makefile index ae776dd0b39ae30fe964648920e63a2a233bdb03..beff62095fb9de10d28166eac6e020fde2d42266 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,16 @@ default: linux -linux: - $(MAKE) -C src - $(MAKE) -C example +linux: static shared sample + +macos: linux + +static: + $(MAKE) -C src static + +shared: + $(MAKE) -C src shared -macos: - $(MAKE) -C src +sample: $(MAKE) -C example win32: diff --git a/example/Makefile b/example/Makefile index 9fc9cf595d6c2787660d9fd2cea0a53bd1c5c56d..1d7e4b42758b256c1ee2e83c2cd0a378b2c2fdab 100644 --- a/example/Makefile +++ b/example/Makefile @@ -5,7 +5,19 @@ CXX ?= g++ TARGET = clfft_example -CXXFLAGS += -O3 -Wall -g -I$(NVIDIA_SDK_INSTALL_PATH)/OpenCL/common/inc -I$(AMDAPPSDKROOT)/include -I../include +ifndef OPENCL_INCLUDE +ifdef CUDA_INSTALL_PATH +OPENCL_INCLUDE = $(CUDA_INSTALL_PATH)/include +endif +ifdef OPENCL_INSTALL_PATH +OPENCL_INCLUDE = $(OPENCL_INSTALL_PATH)/include +endif +endif +ifndef OPENCL_INCLUDE +OPENCL_INCLUDE = $(AMDAPPSDKROOT)/include -I$(NVIDIA_SDK_INSTALL_PATH)/OpenCL/common/inc +endif + +CXXFLAGS += -O3 -Wall -g -I$(OPENCL_INCLUDE) -I../include -fPIC LDFLAGS += $(PWD)/../lib/libclfft.a OS = $(shell uname -s) diff --git a/src/Makefile b/src/Makefile index 6651b74ebffc79bc5c0cd7308028c75eaacd27a8..fca56f0a95e5fce0b2932a8c199640133ed9a959 100644 --- a/src/Makefile +++ b/src/Makefile @@ -3,25 +3,45 @@ 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 +ifndef OPENCL_INCLUDE +ifdef CUDA_INSTALL_PATH +OPENCL_INCLUDE = $(CUDA_INSTALL_PATH)/include +endif +ifdef OPENCL_INSTALL_PATH +OPENCL_INCLUDE = $(OPENCL_INSTALL_PATH)/include +endif +endif +ifndef OPENCL_INCLUDE +OPENCL_INCLUDE = $(AMDAPPSDKROOT)/include -I$(NVIDIA_SDK_INSTALL_PATH)/OpenCL/common/inc +endif + +CXXFLAGS += -O3 -Wall -g -I$(OPENCL_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 @@ -32,12 +52,10 @@ fft_execute.o: fft_execute.cpp ../include/clFFT.h fft_internal.h fft_kernelstring.o: fft_kernelstring.cpp ../include/clFFT.h fft_internal.h $(CXX) $(CXXFLAGS) -c fft_kernelstring.cpp -install: $(TARGET) ../include/clFFT.h +install: ../include/clFFT.h libeclfft.* 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 diff --git a/src/Makefile.mingw b/src/Makefile.mingw index 1f7e6e48eddddca80bf120eb459f6ca88f6331b2..9ba45e9568ab854202df6ede4e45ab286c7ca8b9 100644 --- a/src/Makefile.mingw +++ b/src/Makefile.mingw @@ -3,7 +3,7 @@ AMDAPPSDKROOT ?= /opt/AMDAPP CXX ?= i586-mingw32msvc-g++ AR ?= i586-mingw32msvc-ar -TARGET = libclfft.a +TARGET = libeclfft.a CXXFLAGS += -O3 -Wall -g -I$(NVIDIA_SDK_INSTALL_PATH)/OpenCL/common/inc -I$(AMDAPPSDKROOT)/include -I../include