new sgemm 8x16
[platform/upstream/openblas.git] / Makefile.x86_64
1 # CCOMMON_OPT   += -DFASTCPU
2
3 ifeq ($(OSNAME), SunOS)
4 ifdef BINARY64
5 ifeq ($(F_COMPILER), SUN)
6 FCOMMON_OPT += -m64
7 endif
8 endif
9 endif
10
11 ifeq ($(CORE), SKYLAKEX)
12 ifndef DYNAMIC_ARCH
13 ifndef NO_AVX512
14 CCOMMON_OPT += -march=skylake-avx512
15 FCOMMON_OPT += -march=skylake-avx512
16 ifeq ($(OSNAME), CYGWIN_NT)
17 CCOMMON_OPT += -fno-asynchronous-unwind-tables
18 endif
19 ifeq ($(OSNAME), WINNT)
20 ifeq ($(C_COMPILER), GCC)
21 CCOMMON_OPT += -fno-asynchronous-unwind-tables
22 endif
23 endif
24 endif
25 endif
26 endif
27
28 ifeq ($(CORE), HASWELL)
29 ifndef DYNAMIC_ARCH
30 ifndef NO_AVX2
31 CCOMMON_OPT += -mavx2
32 FCOMMON_OPT += -mavx2
33 endif
34 endif
35 endif
36
37
38
39 ifeq ($(OSNAME), Interix)
40 ARFLAGS         = -m x64
41 endif
42
43 ifeq ($(OSNAME), Darwin)
44 ifndef SMP
45 LIBMKL          = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lguide -lpthread -lm
46 else
47 LIBMKL          = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread -lm
48 endif
49 else
50 ifndef SMP
51 LIBMKL          = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lguide -lpthread -lm
52 else
53 LIBMKL          = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -lguide -lpthread -lm
54 endif
55 endif
56
57
58 ifndef SMP
59 LIBATLAS        = -L$(ATLASPATH)64 -llapack -lcblas -lf77blas -latlas -lm
60 else
61 LIBATLAS        = -L$(ATLASPATH)64 -llapack -lptcblas -lptf77blas -latlas -lpthread -lm
62 endif
63
64 LIBFLAME        = -L$(FLAMEPATH) -llapack2flame -lflame $(TOPDIR)/$(LIBNAME) -lgfortran -lpthread -lm
65
66
67 ifeq ($(F_COMPILER), g77)
68 LIBACML         = -L$(ACMLPATH)/gnu64/lib -Wl,-rpath,$(ACMLPATH)/gnu64/lib -lacml -lacml_mv -lg2c -lm
69 endif
70
71 ifeq ($(F_COMPILER), GFORTRAN)
72 ifndef SMP
73 LIBACML         = -L$(ACMLPATH)/gfortran64/lib -Wl,-rpath,$(ACMLPATH)/gfortran64/lib -lacml -lacml_mv -lgfortran -lm
74 else
75 LIBACML         = -L$(ACMLPATH)/gfortran64_mp/lib -Wl,-rpath,$(ACMLPATH)/gfortran64_mp/lib -lacml_mp -lacml_mv -lgfortran -lgomp -lm
76 endif
77 endif
78
79 ifeq ($(F_COMPILER), INTEL)
80 ifndef SMP
81 LIBACML         = -L$(ACMLPATH)/ifort64/lib -Wl,-rpath,$(ACMLPATH)/ifort64/lib -lacml -lacml_mv -lifcoremt_pic -lirc -lm -lpthread -ldl
82 else
83 LIBACML         = -L$(ACMLPATH)/ifort64_mp/lib -Wl,-rpath,$(ACMLPATH)/ifort64_mp/lib -lacml_mp -lacml_mv -lifcoremt_pic -liomp5 -lirc -lm -lpthread -ldl
84 endif
85 endif
86
87 ifeq ($(F_COMPILER), OPEN64)
88 ifndef SMP
89 LIBACML         = -L$(ACMLPATH)/open64/lib -Wl,-rpath,$(ACMLPATH)/open64/lib -lacml -lacml_mv -lm
90 else
91 LIBACML         = -L$(ACMLPATH)/open64_mp/lib -Wl,-rpath,$(ACMLPATH)/open64_mp/lib -lacml_mp -lacml_mv -lm -lpthread
92 endif
93 endif
94
95 ifeq ($(F_COMPILER), pgf77)
96 ifndef SMP
97 LIBACML         = -L$(ACMLPATH)/pgi64/lib    -Wl,-rpath,$(ACMLPATH)/pgi64/lib    -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
98 else
99 LIBACML         = -L$(ACMLPATH)/pgi64_mp/lib -Wl,-rpath,$(ACMLPATH)/pgi64_mp/lib -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
100 endif
101 endif
102
103 ifeq ($(F_COMPILER), PATHSCALE)
104 ifndef SMP
105 LIBACML         = -L$(ACMLPATH)/pathscale64/lib -Wl,-rpath,$(ACMLPATH)/pathscale64/lib -lacml -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lpathfortran -lm
106 else
107 LIBACML         = -L$(ACMLPATH)/pathscale64_mp/lib -Wl,-rpath,$(ACMLPATH)/pathscale64_mp/lib -lacml_mp -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lopenmp -lpathfortran -lm
108 endif
109 endif
110
111 ifeq ($(F_COMPILER), f90)
112 LIBACML         = -L$(ACMLPATH)/sun64/lib -Wl,-R,$(ACMLPATH)/sun64/lib -L$(SUNPATH)/lib/amd64 -Wl,-R,$(SUNPATH)/lib/amd64 -lacml -lacml_mv -lfsu
113 endif
114
115 LIBSUNPERF      = -L$(SUNPATH)/lib/amd64 -L$(SUNPATH)/rtlibs/amd64 -Wl,-R,$(SUNPATH)/lib/amd64  -Wl,-R,$(SUNPATH)/rtlibs/amd64 -lsunperf -lfui -lfsu -lmtsk
116
117 LIBVECLIB       = /System/Library/Frameworks/vecLib.framework/Versions/Current/vecLib