Skip to content
Makefile 920 B
Newer Older
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)