LILAC
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
make.inc
Go to the documentation of this file.
1 export
2 CPP=clang
3 CPP=gcc
4 #CPP=icc
5 #CPP=NERSC
6 ifeq ($(CPP), gcc)
7 FASTMATH= -ffast-math -fstrict-aliasing -fomit-frame-pointer
8 CFLAGS=-I../ -I./utils -std=c++11 -g -DGCC -DNDEBUG -m64 -O3 -Wall -Wno-strict-aliasing
9 LFLAGS= -lstdc++ -O3 -lacml -lm $(FASTMATH)
10 endif
11 ifeq ($(CPP), clang)
12 #clang generates significantly worse code than gcc for this project, but compiles faster
13 #so might as well make it a default debug build
14 FASTMATH=
15 CFLAGS=-I../ -I./utils -stdlib=libc++ -std=c++11 -g -DCLANG -DDEBUG -m64 -Werror -W -Wall
16 LFLAGS= -lstdc++ -lacml -lm
17 endif
18 ifeq ($(CPP), icc)
19 export FASTMATH= -ansi-alias -fargument-noalias -fno-alias -no-ansi-alias-check -complex-limited-range -scalar-rep -no-prec-div -finline-functions
20 export CFLAGS= -no-ipo -std=c++11 -fast -restrict -O3 -fpermissive -DICC -mkl=sequential
21 export LD=$(CPP)
22 export LFLAGS= -lstdc++ -lacml
23 endif
24 ifeq ($(CPP), NERSC)
25 FASTMATH=-ffast-math -fstrict-aliasing -fomit-frame-pointer -funroll-loops
26 CPP=CC
27 CFLAGS=-I../ -I./utils -std=c++11 -DGCC -DNDEBUG -m64 -Ofast -march=native -mtune=native -pipe
28 LFLAGS= -Ofast -march=native -m64 $(FASTMATH)
29 endif
30 LD=$(CPP)
31 
32 
33 LIB_MAIN=../../lib
34 MAIN_PATH=..
35 INLINE_HEADERS=../utils/*.hpp ../types/*.hpp
36 INC_PATH= -I$(MAIN_PATH) -I$(MAIN_PATH)/utils/