CC = gcc
CXX = g++
#Using -Ofast instead of -O3 might result in faster code, but is supported only by newer GCC versions
CFLAGS = -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-result -llapacke -llapack -lblas
CXXFLAGS = -std=c++14 -lgfortran -lm -O3 -llapack -lblas -lpthread -larmadillo -DARMA_NO_DEBUG -DARMA_DONT_USE_WRAPPER -DARMA_MAT_PREALLOC -DARMA_USE_LAPACK -DARMA_USE_BLAS -march=native -Wall \
                 -funroll-loops -Wno-unused-result -fuse-ld=gold \
                 -I ${HOME}/.local/include -L ${HOME}/.local/lib

EFLAGS = -std=c++11 -lm -pthread -fopenmp -O3 -march=native -Wall -funroll-loops -Wno-unused-result -fuse-ld=gold -I ./eigen/
all: mat_rep

mat_rep: mat_rep.cpp
	$(CXX) mat_rep.cpp -o mat_rep $(EFLAGS)	
clean:
	rm -rf mat_rep
