From 3bb1a461061d9181394f3114004326fef9d86828 Mon Sep 17 00:00:00 2001 From: Bernd Machenschalk <bernd.machenschalk@ligo.org> Date: Mon, 23 Apr 2018 11:11:06 +0200 Subject: [PATCH] add a target 'install' - this installs the header in $PREFIX/include/eclfft and the lib in $PREFIX/lib/eclfft.a --- Makefile | 3 +++ README.md | 3 +++ src/Makefile | 8 +++++++- src/Makefile.mingw | 6 ++++++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 3030dca..ae776dd 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 7b89884..355a091 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 bcbb617..f819b13 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 216d207..1f7e6e4 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 -- GitLab