-
Notifications
You must be signed in to change notification settings - Fork 3
/
Makefile.config
91 lines (69 loc) · 3.06 KB
/
Makefile.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
### Separated out configuration options ####
###### Begin Compilation Options #######
### This defines a __float128 for CINT's perusal. Necessary on 64-bit machines with fftw, probably harmless on others?
CINTFLAGS=-DFFTW_64_BIT
### Override the compiler here (might be helpful on older Macs or testing with multiple compilers)
#CXX=clang++
### Force debugger on (multiple -g's don't hurt)
CXXFLAGS += -g
LDFLAGS += -g
### Might need this if using g++ > 5 and ROOT 6 (since cling/clang does not yet support the C++11 ABI for std::string)
# Likely harmless in other cases
CXXFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0
### Comment out next two lines to disable explicit vectorization
CXXFLAGS+= -I$(VECTORDIR) -DENABLE_VECTORIZE $(ARCH_STRING)
VECTORIZE=$(VECTORDIR)
### For Agner Fog's vectorclass, g++ needs to use -fabi-version=0 , but clang doesn't support this option. This is likely irrelevant if vectorization not enabled
ifeq ($(CXX),g++)
CXXFLAGS+=-fabi-version=0
endif
### Compile time options for SineSubtract vectorization... (more info in SineSubtract.h) #####
# Uncomment below to use floats instead of doubles (implies an extra copy and less precision, but theoretically twice the vectorization)
#CXXFLAGS+=-DSINE_SUBTRACT_USE_FLOATS
# Uncomment below to print out time to call SineSubtract::subtractCW()
#CXXFLAGS+=-DSINE_SUBTRACT_PROFILE
## End configuration for SineSubtract######
### Compile time options for linear algebra libs #####
# Uncomment following line to use eigen3 (heavily recommended!)
# You can define EIGEN3_INCLUDE_DIR if you need to
# CXXFLAGS+=-DUSE_EIGEN -I$(EIGEN3_INCLUDE_DIR)/ -I$(EIGEN3_INCLUDE_DIR)/eigen3/
# Uncomment following 2 lines to use armadillo (and comment out eigen)
#CXXFLAGS+=-DUSE_ARMADILLO
#LDFLAGS +=-larmadillo
## End linear algebra configuration
### FFT Options
# Uncomment following line to change FFTW plan creation mode to FFTW_PATIENT,
# which has higher up-front cost but might be faster later. Otherwise FFTW_MEASURE is used.
#CXXFLAGS += -DFFTW_USE_PATIENT
# Uncomment following line to enable (experimental and not-yet-working) thread-safe mode
#CXXFLAGS += -DFFTTOOLS_THREAD_SAFE
# Uncomment following two lines to enable (experimental) OpenMP support
# This will allow use of doFFT and doInvFFT in OpenMP programs
#CXXFLAGS += -DFFTTOOLS_USE_OMP -fopenmp
#LDFLAGS += -fopenmp -pthread
#OPTIONAL_BINARIES += testOpenMP
###### End Compilation Options ##### #
#####Site Specific Flags (adjust to local site)
OUTLIBDIR =
OUTINCDIR =
SYSINCLUDES = -I/usr/local/include
SYSLIBS = -L/usr/local/lib
DLLSUF = ${DllSuf}
OBJSUF = ${ObjSuf}
SRCSUF = ${SrcSuf}
ifdef ANITA_UTIL_INSTALL_DIR
UTIL_LIB_DIR=${ANITA_UTIL_INSTALL_DIR}/lib
UTIL_INC_DIR=${ANITA_UTIL_INSTALL_DIR}/include
LD_UTIL=-L$(ANITA_UTIL_LIB_DIR)
INC_UTIL=-I$(ANITA_UTIL_INC_DIR)
else
ifdef ARA_UTIL_INSTALL_DIR
UTIL_LIB_DIR=${ARA_UTIL_INSTALL_DIR}/lib
UTIL_INC_DIR=${ARA_UTIL_INSTALL_DIR}/include
LD_UTIL=-L$(ARA_UTIL_LIB_DIR)
INC_UTIL=-I$(ARA_UTIL_INC_DIR)
else
UTIL_LIB_DIR=/usr/local/lib
UTIL_INC_DIR=/usr/local/include
endif
endif