###############################################################################
## Makefile.g++ ##
###############################################################################
CXX = g++
######## FLAGS ########
FLAGS += -O2 -funroll-loops -ffast-math #-mfpmath=sse
FLAGS += -fomit-frame-pointer #-ftree-vectorizer-verbose=5
#FLAGS = -march=core2 -msse4.1
#FLAGS += -std=c++0x # -std=c++98 #
##FLAGS += -fprefetch-loop-arrays -fforce-addr -march=pentium4 -ftree-vectorize -funsafe-loop-optimizations -Wunsafe-loop-optimizations
##FLAGS += -malign-double
#FLAGS += -fopenmp
######## LFLAGS ########
LFLAGS = $(FLAGS)
#LFLAGS += -static
######## CFLAGS ########
CFLAGS = $(FLAGS)
##CFLAGS += --param large-function-growth=99999 --param max-inline-insns-single=99999 --param inline-unit-growth=99999 -Winline
####CFLAGS += -fimplement-inlines -finline-limit=0 --param large-function-growth=0 --param max-inline-insns-single=0 --param inline-unit-growth=0
CFLAGS += -Wall -Wno-unknown-pragmas -Wextra -ftree-vectorizer-verbose=0
######## others ########
INCLUDE_DIRS = -I./ -I$(HOME)/local/cpplapack/include
#LIB_DIRS = -L/usr/lib
LIB_DIRS =
#LIBS = /usr/lib/sse2/liblapack.a /usr/lib/sse2/libblas.a -lm -lgfortran
LIBS = -llapack -lblas -lgfortran -lm
LIBS += -lboost_filesystem
MACROS = -DCPPL_SECTOR_SIZE=1000000
#############################
######### profiling #########
#############################
#CFLAGS += -pg #-g
#LFLAGS += -pg #-g
#LIBS = $(HOME)/opt/lapack-3.1.1/lapack_gprof.a $(HOME)/opt/lapack-3.1.1/blas_gprof.a -lm -lgfortran
#LIBS = $(HOME)/opt/lapack-3.1.1/lapack_gprof.a $(HOME)/opt/lapack-3.1.1/blas_gprof.a $(HOME)/opt/STLport-5.1.3/lib/libstlport_gprof.a -lm -lgfortran
#############################
######### debugging #########
#############################
ifdef DEBUG
FLAGS = -g -O0
CFLAGS = $(FLAGS) -Wall -Wno-unknown-pragmas -Wextra -fstack-protector-all -fbounds-check
LFLAGS = $(FLAGS)
##LIBS += -lefence
MACROS = #-DCPPL_DEBUG ####-DCPPL_VERBOSE
endif