/perf/fdk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/perf/fdk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
IPP_PATH=/opt/intel/ipp/
ICC_PATH=/opt/intel/compilers_and_libraries/linux/
MATLAB_PATH=/usr/local/MATLAB/R2016a/

DEBUG_FLAGS=-g
CFLAGS=$(DEBUG_FLAGS) -std=c99 -O3

ICC=/opt/intel/bin/icc
ICFLAGS=$(DEBUG_FLAGS) -std=c99 -O3  -fp-model fast -xHost
#CFLAGS=$(CFLAGS) -xCORE-AVX2 -diag-enable=vec -qopt-report=1

#ICC=$(CC)
#ICFLAGS=$(CFLAGS)

HEADERS=process.h
OBJECTS=process.o ippprocess.o

all: fdk.mexa64 orig test

fdk.mexa64: fdk.cpp process.o $(HEADERS)
	$(MATLAB_PATH)/bin/mex -v -largeArrayDims -I$(IPP_PATH)/include/ -L$(IPP_PATH)/lib/intel64_lin/ -L$(ICC_PATH)/lib/intel64_lin -limf -lippi -lipps -lippcore fdk.cpp process.o

$(OBJECTS):%.o:%.c $(HEADERS)
	$(ICC) $< -fPIC -c $(ICFLAGS) -I$(IPP_PATH)/include/

test: test.c process.o $(HEADERS)
	$(ICC) $< -o $@ $(ICFLAGS) -L$(IPP_PATH)/lib/intel64_lin/ -lippi -lipps -lippcore process.o -lm

orig: test.c ippprocess.o $(HEADERS)
	$(ICC) $< -o $@ $(ICFLAGS) -L$(IPP_PATH)/lib/intel64_lin/ -lippi -lipps -lippcore ippprocess.o -lm

clean:
	rm -f orig test fdk.mexa64 *.o