@@ -16,23 +16,22 @@ ONEAPI_OMP5 := $(ONEAPI_COMPILER)/lib/libiomp5.a
16
16
17
17
# for MacOS use accelerate framework in default
18
18
# install openblas lapack on mac with brew install openblas lapack
19
- OPENBLAS_ROOT =
20
- LAPACK_ROOT := ${OPENBLAS_ROOT}
19
+ OPENBLAS =
21
20
22
21
23
22
STATIC = 0 # by default dynamical linking
24
23
IOMP5 = 1 # use libiomp5 for mkl
25
- AVX = 1 # enable avx2 fma
26
24
DEBUG = 0 # debug
25
+ AVX = # 1: enable avx2 fma, 0: do nothing
27
26
28
27
# ########################## end ###########################
29
28
30
29
31
30
# ###### INC, LPATHS, LIBS, MYFLAGS
32
31
program = PCAone
33
32
CXX ?= g++ # use default g++ only if not set in env
34
- CXXSTD = c++17 # default c++17 if not set by the user
35
- CXXFLAGS += -O3 -Wall -std=$(CXXSTD ) -m64 -fPIC
33
+ CXXSTD = c++17
34
+ CXXFLAGS += -O3 -Wall -std=$(CXXSTD ) -m64
36
35
MYFLAGS = -DVERSION=\"$(VERSION ) \"
37
36
# CURRENT_DIR = $(shell pwd)
38
37
INC = -I./external -I./external/zstd/lib
@@ -41,15 +40,15 @@ PCALIB = libpcaone.a
41
40
ifeq ($(Platform ) , Darwin)
42
41
CXXFLAGS += -march=native
43
42
else
44
- ifeq ($(strip $(AVX)),1)
45
- $(info "use -mavx2 for PCAone")
43
+ ifeq ($(strip $(AVX)),)
44
+ CXXFLAGS += -march=native
45
+ else ifeq ($(strip $(AVX)),1)
46
46
CXXFLAGS += -mavx2 -mfma
47
47
endif
48
48
endif
49
49
50
50
ifeq ($(strip $(DEBUG ) ) ,1)
51
- $(info "use -mavx2 for PCAone")
52
- MYFLAGS += -DDEBUG
51
+ MYFLAGS += -DDEBUG
53
52
endif
54
53
55
54
@@ -69,10 +68,8 @@ ifeq ($(Platform),Linux)
69
68
DLIBS += -Wl,--no-as-needed -Wl,-rpath,${ONEAPI_COMPILER}/lib,-rpath,${MKLROOT}/lib/intel64 -L${ONEAPI_COMPILER}/lib -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5
70
69
endif
71
70
72
- else ifneq ($(strip $(OPENBLAS_ROOT )),)
71
+ else ifneq ($(strip $(OPENBLAS )),)
73
72
MYFLAGS += -DWITH_OPENBLAS -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE
74
- INC += -I${OPENBLAS_ROOT}/include -I${LAPACK_ROOT}/include
75
- LPATHS += -L${OPENBLAS_ROOT}/lib -L${LAPACK_ROOT}/lib
76
73
DLIBS += -llapack -llapacke -lopenblas -lgfortran -lgomp
77
74
78
75
else
@@ -83,7 +80,7 @@ else ifeq ($(Platform),Darwin)
83
80
# ##### for mac
84
81
MYFLAGS += -Xpreprocessor -fopenmp
85
82
86
- ifneq ($(strip $(OPENBLAS_ROOT )),)
83
+ ifneq ($(strip $(OPENBLAS )),)
87
84
MYFLAGS += -DWITH_OPENBLAS -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE
88
85
ifeq ($(strip $(STATIC)),1)
89
86
# SLIBS += /usr/local/opt/gcc/lib/gcc/11/libgomp.a # gcc need libgomp.a
@@ -110,7 +107,7 @@ ifeq ($(strip $(STATIC)),1)
110
107
SLIBS += /opt/homebrew/opt/zlib/lib/libz.a
111
108
# CXXFLAGS += -stdlib=libc++
112
109
else
113
- SLIBS += /usr/lib64/ libz.a # /usr/lib/x86_64-linux-gnu/ libz.a
110
+ SLIBS += /usr/lib/x86_64-linux-gnu/ libz.a # /usr/lib64/ libz.a #
114
111
CXXFLAGS += -static
115
112
# CXXFLAGS += -static-libgcc -static-libstdc++
116
113
endif
0 commit comments