589d674412a311ae87844aa717ca6de7d461186c
[platform/upstream/openblas.git] / Makefile.power
1
2 ifdef USE_THREAD
3 ifeq ($(USE_THREAD), 0)
4 USE_OPENMP = 0
5 else
6 USE_OPENMP = 1
7 endif
8 else
9 USE_OPENMP = 1
10 endif
11
12
13
14 ifeq ($(CORE), POWER8)
15 ifeq ($(USE_OPENMP), 1)
16 COMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
17 FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
18 else
19 COMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -malign-power -fno-fast-math
20 FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -malign-power -fno-fast-math
21 endif
22 endif
23
24
25 FLAMEPATH       = $(HOME)/flame/lib
26
27 #ifeq ($(CORE), CELL)
28 #CELL_SDK_ROOT = /opt/IBM/cell-sdk-1.1/sysroot/usr
29 #SPU_CC          = spu-gcc
30 #EXTRALIB       += -lspe
31 #endif
32
33 ifeq ($(OSNAME), Linux)
34 ifdef BINARY64
35 # COMPILER_PREFIX = powerpc64-linux-
36 else
37 # COMPILER_PREFIX = powerpc-linux-
38 endif
39 endif
40
41 ifdef BINARY64
42
43
44 ifeq ($(OSNAME), AIX)
45 CCOMMON_OPT     += -mpowerpc64 -maix64
46 ifeq ($(COMPILER_F77), g77)
47 FCOMMON_OPT     += -mpowerpc64 -maix64
48 endif
49 ifeq ($(COMPILER_F77), xlf)
50 FCOMMON_OPT     += -q64
51 endif
52 ARFLAGS         = -X 64
53 ASFLAGS         = -a64
54 endif
55 else
56 ifeq ($(OSNAME), AIX)
57 CCOMMON_OPT     += -Wa,-a32
58 ARFLAGS         = -X 32
59 ASFLAGS         = -a32
60 endif
61 endif
62
63 # CCOMMON_OPT   += -maltivec -mabi=altivec
64
65 LIBFLAME        = -L$(FLAMEPATH) -llapack2flame -lflame-lapack -lflame-base $(LIBS)
66
67 ifeq ($(OSNAME), Darwin)
68 CCOMMON_OPT     += -force_cpusubtype_ALL
69 endif
70
71
72 ifndef BINARY64
73 ifeq ($(OSNAME), Linux)
74 ESSLPATH = -L/opt/ibmcmp/lib -L/opt/ibmcmp/xlf/11.1/lib -Wl,-rpath,/opt/ibmcmp/lib -Wl,-rpath,/opt/ibmcmp/xlf/11.1/lib -lxlf90_r -lxlomp_ser -lxlfmath -lxl -lpthread
75 else
76 ESSLPATH = -lxlf90_r
77 endif
78
79
80 LIBVECLIB       = -framework VecLib
81 ifndef SMP
82 LIBATLAS        = -L/usr/lib/atlas3.7.11 -lf77blas -latlas -lg2c -lm
83 LIBESSL         = -lessl $(ESSLPATH) ../../level1/others/libmisc.a -lm
84 else
85 LIBATLAS        = -L/usr/lib/atlas3.7.11p -lptf77blas -latlas -lm -lpthread
86 LIBESSL         = -lesslsmp $(ESSLPATH)  ../../level1/others/libmisc.a -lm
87 endif
88 else
89 ifeq ($(OSNAME), Linux)
90 ESSLPATH = -L/opt/ibmcmp/lib64 -Wl,-rpath,/opt/ibmcmp/lib64 -L/opt/ibmcmp/xlf/11.1/lib64 -Wl,-rpath,/opt/ibmcmp/xlf/11.1/lib64 -lxlf90_r -lxlomp_ser
91 else
92 ESSLPATH = -lxlf90_r
93 endif
94
95 LIBVECLIB       = /System/Library/Frameworks/vecLib.framework/Versions/Current/vecLib
96
97 ifndef SMP
98 LIBATLAS        = -L/usr/lib64/atlas3.7.11  -lf77blas -latlas -lg2c -lm
99 LIBESSL         = -lessl $(ESSLPATH) -lm
100 else
101 LIBATLAS        = -L/usr/lib64/atlas3.7.11p -lptf77blas -latlas -lm -lpthread
102 LIBESSL         = -lesslsmp $(ESSLPATH) -lxlsmp -lm
103 endif
104 endif