1
1
# ######################## configure ################
2
2
3
- # for mkl
4
- # MKLROOT=$HOME/intel/oneapi/mkl/latest # for linux
5
- # MKLROOT=/opt/intel/oneapi/mkl/latest # for mac
3
+ # MKLROOT=/opt/intel/oneapi/mkl/latest
4
+ MKLROOT =
5
+ # /opt/intel/oneapi/compiler/latest/lib/
6
+ ONEAPI_COMPILER := ${MKLROOT}
7
+ ONEAPI_OMP5 := $(ONEAPI_COMPILER ) /lib/libiomp5.a
6
8
# make sure libiomp5 can be found on mac
7
9
# ln -s /opt/intel/oneapi/compiler/latest/mac/compiler/lib/libiomp5.dylib /opt/intel/oneapi/mkl/latest/lib/
8
- MKLROOT =
9
10
10
11
# install openblas lapack on mac with brew install openblas lapack
11
12
# OPENBLAS_ROOT = /usr/local/opt/openblas
@@ -20,11 +21,15 @@ ACCELERATE_ROOT =
20
21
# by default dynamical linking
21
22
STATIC = 0
22
23
# only if static = 1, IOMP5 works
23
- IOMP5 = 0
24
+ IOMP5 = 1
25
+
26
+ # static libz
27
+ STATIC_LIBZ := /usr/lib64/libz.a # /usr/lib/x86_64-linux-gnu/libz.a
28
+
24
29
25
30
# ########################## end ###########################
26
31
27
- VERSION =0.4.9
32
+ VERSION =0.5.0
28
33
# detect OS architecture and add flags
29
34
Platform := $(shell uname -s)
30
35
@@ -68,12 +73,9 @@ ifeq ($(strip $(STATIC)),1)
68
73
# CFLAGS += -Xpreprocessor -fopenmp
69
74
endif
70
75
else
71
- SLIBS += /usr/lib64/libz.a
72
- ifeq ($(strip $(IOMP5)), 1)
73
- CXXFLAGS += -static-libgcc -static-libstdc++
74
- else
75
- CXXFLAGS += -static
76
- endif
76
+ SLIBS += ${STATIC_LIBZ}
77
+ # CXXFLAGS += -static-libgcc -static-libstdc++
78
+ CXXFLAGS += -static
77
79
endif
78
80
else
79
81
DLIBS += -lz
@@ -86,15 +88,14 @@ ifeq ($(Platform),Linux)
86
88
ifneq ($(strip $(MKLROOT)),)
87
89
MYFLAGS += -DWITH_MKL -DEIGEN_USE_MKL_ALL
88
90
INC += -I${MKLROOT}/include/
89
- LPATHS += -L${MKLROOT}/lib -L${MKLROOT}/lib/intel64
90
91
ifeq ($(strip $(STATIC)),1)
91
92
ifeq ($(strip $(IOMP5)), 1)
92
- SLIBS += -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -liomp5 -lpthread
93
+ SLIBS += -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a ${ONEAPI_OMP5} -Wl,--end-group -L${ONEAPI_COMPILER}/lib -lpthread
93
94
else
94
95
SLIBS += -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_gnu_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -lgomp -lpthread
95
96
endif
96
97
else
97
- DLIBS += -Wl,--no-as-needed -Wl,-rpath,${MKLROOT }/lib,-rpath,${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
98
+ 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 -lpthread
98
99
endif
99
100
100
101
else ifneq ($(strip $(OPENBLAS_ROOT)),)
@@ -152,14 +153,14 @@ OBJ = src/Arnoldi.o src/Halko.o src/Data.o src/Utils.o src/Cmd.o \
152
153
153
154
SLIBS += ./external/bgen/bgenlib.a ./external/zstd/lib/libzstd.a
154
155
155
- LIBS += ${SLIBS} ${DLIBS} -lm -ldl
156
+ LIBS += ${SLIBS} ${DLIBS} -ldl -lm
156
157
157
158
.PHONY : all clean ld_matrix ld_r2 ld_prune ld_clump ld_tests
158
159
159
160
all : ${program}
160
161
161
162
${program} : zstdlib bgenlib pcaonelib src/Main.o
162
- $(CXX ) $(CXXFLAGS ) -o $(program ) src/Main.o ${PCALIB} ${LPATHS} ${LIBS} ${LDFLAGS}
163
+ $(CXX ) $(CXXFLAGS ) -o $(program ) src/Main.o ${PCALIB} ${LPATHS} ${LIBS}
163
164
164
165
% .o : % .cpp
165
166
${CXX} ${CXXFLAGS} ${MYFLAGS} -o $@ -c $< ${INC}
0 commit comments