Skip to content
Makefile 945 B
Newer Older
#CC=gcc
petros.anastasiadis's avatar
petros.anastasiadis committed
MPICC=mpiicc

DEBUG ?= 0  # Set to 1 for debug

#CFLAGS=-O3 -lm -Wall -mavx -march=ivybridge -mtune=ivybridge 
#CFLAGS=-O3 -lm -Wall -mavx2 -mfma  -march=haswell -mtune=haswell 
#CFLAGS=-O3 -Wall -xCORE-AVX-I
#CFLAGS=-O3 -Wall -xCORE-AVX2 

# Need to -I this for user-defined functions to work
EXT_DIR = ../External_Functions/

ICFLAGS=-O3 -Wall -axCORE-AVX2,CORE-AVX-I

petros.anastasiadis's avatar
petros.anastasiadis committed
MPI_COMPILE= $(MPICC) $(ICFLAGS) -I$(EXT_DIR)
MPI_OMP_COMPILE= $(MPI_COMPILE) -mt_mpi -qopenmp

ifeq ($(DEBUG), 1)
	MPI_COMPILE += -D_DEBUG_
endif

MPI_COMPILE_OBJ= $(MPI_COMPILE) -c



SOURCE = MPI.c MPI-OpenMP.c
OBJECTS = util.o matrix_op.o timer.o input.o
PROGRAMS= MPI.exe MPI-OpenMP.exe

all: $(PROGRAMS)

MPI-OpenMP.exe: $(OBJECTS) MPI-OpenMP.c
	$(MPI_OMP_COMPILE) MPI-OpenMP.c -o $@ $(OBJECTS)	

MPI.exe: $(OBJECTS) MPI.c
	$(MPI_COMPILE) MPI.c -o $@ $(OBJECTS)

%.o: $(EXT_DIR)%.c
	$(MPI_COMPILE_OBJ) -o $@ $<

%.o: %.h

clean:
	$(RM) $(PROGRAMS) $(OBJECTS)