diff --git a/Makefile b/Makefile index 3030dcaef5a930b1c7b7d2cf5ce15a258023672d..ae776dd0b39ae30fe964648920e63a2a233bdb03 100644 --- a/Makefile +++ b/Makefile @@ -19,3 +19,6 @@ win64: clean: $(MAKE) -C src clean $(MAKE) -C example clean + +install: + $(MAKE) -C src install diff --git a/README.md b/README.md index 7b89884c5caf31594b1fac91086a889d6c318926..355a091a63427c6d962310db8e79f9b6e180fcd1 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,11 @@ The codebase contains a top-level Makefile that builds the library and the examp * macos * win32 * win64 +* install * clean +The `install` target uses the `PREFIX` variable, i.e. you should use `PREFIX=/some/path make install` or `make install PREFIX=/some/path` + # Usage * Library diff --git a/src/Makefile b/src/Makefile index bcbb617e12398bf769d1cb06b792a4e6c7ac37ab..f819b139d44f71c8c92dbf534c4c89c5debda382 100644 --- a/src/Makefile +++ b/src/Makefile @@ -13,6 +13,7 @@ endif OBJECTS = fft_setup.o fft_execute.o fft_kernelstring.o +PREFIX ?= "." $(TARGET): $(OBJECTS) $(AR) rcs $(TARGET) $(OBJECTS) @@ -21,13 +22,18 @@ $(TARGET): $(OBJECTS) fft_setup.o: fft_setup.cpp fft_internal.h fft_base_kernels.h $(CXX) $(CXXFLAGS) -c fft_setup.cpp - + fft_execute.o: fft_execute.cpp ../include/clFFT.h fft_internal.h $(CXX) $(CXXFLAGS) -c fft_execute.cpp fft_kernelstring.o: fft_kernelstring.cpp ../include/clFFT.h fft_internal.h $(CXX) $(CXXFLAGS) -c fft_kernelstring.cpp +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 + clean: rm -f *.o rm -f *.a diff --git a/src/Makefile.mingw b/src/Makefile.mingw index 216d207982eabb74fbbc23b1fb2f8486b353cd9d..1f7e6e48eddddca80bf120eb459f6ca88f6331b2 100644 --- a/src/Makefile.mingw +++ b/src/Makefile.mingw @@ -9,6 +9,7 @@ CXXFLAGS += -O3 -Wall -g -I$(NVIDIA_SDK_INSTALL_PATH)/OpenCL/common/inc -I$(AMDA OBJECTS = fft_setup.o fft_execute.o fft_kernelstring.o +PREFIX ?= "." $(TARGET): $(OBJECTS) $(AR) rcs $(TARGET) $(OBJECTS) @@ -24,6 +25,11 @@ 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 + mkdir -p $(PREFIX)/lib $(PREFIX)/include + cp ../include/clFFT.h $(PREFIX)/include/eclfft.h + cp $(TARGET) $(PREFIX)/lib/libeclfft.a + clean: rm -f *.o rm -f *.a