Newer
Older
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
34
35
36
37
38
39
40
41
42
43
44
CC=gcc
ICC =icc
DEBUG ?= 0 # Set to 1 for debug
CFLAGS=-O3 -lm -Wall -mavx -march=ivybridge -mtune=ivybridge -fopenmp
#CFLAGS=-O3 -lm -Wall -mavx2 -mfma -march=haswell -mtune=haswell
#CFLAGS=-O3 -Wall -xCORE-AVX-I
#CFLAGS=-O3 -Wall -xCORE-AVX2
ICFLAGS=-O3 -Wall -qopenmp -axCORE-AVX2,CORE-AVX-I -lrt
# Need to -I this for user-defined functions to work
EXT_DIR = ../External_Functions/
CPU_COMPILE= $(ICC) $(ICFLAGS) -I$(EXT_DIR)
ifeq ($(DEBUG), 1)
CPU_COMPILE += -D_DEBUG_
endif
CPU_COMPILE_OBJ= $(CPU_COMPILE) -c
SOURCE = OpenMP.c OpenMP_aff.c
OBJECTS = util.o matrix_op.o timer.o input.o
PROGRAMS= OpenMP.exe OpenMP_aff.exe
all: $(PROGRAMS)
OpenMP.exe: $(OBJECTS) OpenMP.c
$(CPU_COMPILE) OpenMP.c -o $@ $(OBJECTS)
OpenMP_aff.exe: $(OBJECTS) OpenMP_aff.c
$(CPU_COMPILE) OpenMP_aff.c -o $@ $(OBJECTS)
%.o: $(EXT_DIR)%.c
$(CPU_COMPILE_OBJ) -o $@ $<
%.o: %.h
clean:
$(RM) $(PROGRAMS) $(OBJECTS)