]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/blob - Makefile
Merge branch 'master' of https://github.com/Shanigen/kcf
[hercules2020/kcf.git] / Makefile
1 # Makefile to build all the available variants
2
3 BUILDS = opencvfft-st opencvfft-async fftw fftw_openmp fftw_async fftw_big fftw_big_openmp cufftw cufftw_big cufftw_big_openmp cufft cufft_big cufft_big_openmp
4
5 all: $(foreach build,$(BUILDS),build-$(build)/kcf_vot)
6
7 CMAKE_OPTS += -G Ninja
8 #CMAKE_OPTS += -DOpenCV_DIR=~/opt/opencv-2.4/share/OpenCV
9
10 CMAKE_OTPS_opencvfft-st      = -DFFT=OpenCV
11 CMAKE_OTPS_opencvfft-async   = -DFFT=OpenCV -DASYNC=ON
12 CMAKE_OTPS_fftw              = -DFFT=fftw
13 CMAKE_OTPS_fftw_openmp       = -DFFT=fftw -DOPENMP=ON
14 CMAKE_OTPS_fftw_async        = -DFFT=fftw -DASYNC=ON
15 CMAKE_OTPS_fftw_big          = -DFFT=fftw -DBIG_BATCH=ON
16 CMAKE_OTPS_fftw_big_openmp   = -DFFT=fftw -DBIG_BATCH=ON -DOPENMP=ON
17 CMAKE_OTPS_cufftw            = -DFFT=cuFFTW
18 CMAKE_OTPS_cufftw_big        = -DFFT=cuFFTW -DBIG_BATCH=ON
19 CMAKE_OTPS_cufftw_big_openmp = -DFFT=cuFFTW -DBIG_BATCH=ON -DOPENMP=ON
20 CMAKE_OTPS_cufft             = -DFFT=cuFFT
21 CMAKE_OTPS_cufft_big         = -DFFT=cuFFT -DBIG_BATCH=ON
22 CMAKE_OTPS_cufft_big_openmp  = -DFFT=cuFFT -DBIG_BATCH=ON -DOPENMP=ON
23
24 .SECONDARY: $(BUILDS:%=build-%/build.ninja)
25
26 build-%/build.ninja:
27         mkdir -p $(@D)
28         cd $(@D) && cmake $(CMAKE_OPTS) $(CMAKE_OTPS_$*) ..
29
30 .PHONY: FORCE
31 build-%/kcf_vot: build-%/build.ninja FORCE
32         cmake --build $(@D)
33
34 $(BUILDS): %: build-%/kcf_vot
35
36 clean:
37         rm -rf $(BUILDS:%=build-%)