Rewrite glibc version check
[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 NO_AVX512
13 CCOMMON_OPT += -march=skylake-avx512
14 FCOMMON_OPT += -march=skylake-avx512
15 ifeq ($(OSNAME), CYGWIN_NT)
16 CCOMMON_OPT += -fno-asynchronous-unwind-tables
17 endif
18 endif
19 endif
20
21 ifeq ($(OSNAME), Interix)
22 ARFLAGS         = -m x64
23 endif
24
25 ifeq ($(OSNAME), Darwin)
26 ifndef SMP
27 LIBMKL          = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lguide -lpthread -lm
28 else
29 LIBMKL          = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread -lm
30 endif
31 else
32 ifndef SMP
33 LIBMKL          = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lguide -lpthread -lm
34 else
35 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
36 endif
37 endif
38
39
40 ifndef SMP
41 LIBATLAS        = -L$(ATLASPATH)64 -llapack -lcblas -lf77blas -latlas -lm
42 else
43 LIBATLAS        = -L$(ATLASPATH)64 -llapack -lptcblas -lptf77blas -latlas -lpthread -lm
44 endif
45
46 LIBFLAME        = -L$(FLAMEPATH) -llapack2flame -lflame $(TOPDIR)/$(LIBNAME) -lgfortran -lpthread -lm
47
48
49 ifeq ($(F_COMPILER), g77)
50 LIBACML         = -L$(ACMLPATH)/gnu64/lib -Wl,-rpath,$(ACMLPATH)/gnu64/lib -lacml -lacml_mv -lg2c -lm
51 endif
52
53 ifeq ($(F_COMPILER), GFORTRAN)
54 ifndef SMP
55 LIBACML         = -L$(ACMLPATH)/gfortran64/lib -Wl,-rpath,$(ACMLPATH)/gfortran64/lib -lacml -lacml_mv -lgfortran -lm
56 else
57 LIBACML         = -L$(ACMLPATH)/gfortran64_mp/lib -Wl,-rpath,$(ACMLPATH)/gfortran64_mp/lib -lacml_mp -lacml_mv -lgfortran -lgomp -lm
58 endif
59 endif
60
61 ifeq ($(F_COMPILER), INTEL)
62 ifndef SMP
63 LIBACML         = -L$(ACMLPATH)/ifort64/lib -Wl,-rpath,$(ACMLPATH)/ifort64/lib -lacml -lacml_mv -lifcoremt_pic -lirc -lm -lpthread -ldl
64 else
65 LIBACML         = -L$(ACMLPATH)/ifort64_mp/lib -Wl,-rpath,$(ACMLPATH)/ifort64_mp/lib -lacml_mp -lacml_mv -lifcoremt_pic -liomp5 -lirc -lm -lpthread -ldl
66 endif
67 endif
68
69 ifeq ($(F_COMPILER), OPEN64)
70 ifndef SMP
71 LIBACML         = -L$(ACMLPATH)/open64/lib -Wl,-rpath,$(ACMLPATH)/open64/lib -lacml -lacml_mv -lm
72 else
73 LIBACML         = -L$(ACMLPATH)/open64_mp/lib -Wl,-rpath,$(ACMLPATH)/open64_mp/lib -lacml_mp -lacml_mv -lm -lpthread
74 endif
75 endif
76
77 ifeq ($(F_COMPILER), pgf77)
78 ifndef SMP
79 LIBACML         = -L$(ACMLPATH)/pgi64/lib    -Wl,-rpath,$(ACMLPATH)/pgi64/lib    -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
80 else
81 LIBACML         = -L$(ACMLPATH)/pgi64_mp/lib -Wl,-rpath,$(ACMLPATH)/pgi64_mp/lib -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
82 endif
83 endif
84
85 ifeq ($(F_COMPILER), PATHSCALE)
86 ifndef SMP
87 LIBACML         = -L$(ACMLPATH)/pathscale64/lib -Wl,-rpath,$(ACMLPATH)/pathscale64/lib -lacml -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lpathfortran -lm
88 else
89 LIBACML         = -L$(ACMLPATH)/pathscale64_mp/lib -Wl,-rpath,$(ACMLPATH)/pathscale64_mp/lib -lacml_mp -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lopenmp -lpathfortran -lm
90 endif
91 endif
92
93 ifeq ($(F_COMPILER), f90)
94 LIBACML         = -L$(ACMLPATH)/sun64/lib -Wl,-R,$(ACMLPATH)/sun64/lib -L$(SUNPATH)/lib/amd64 -Wl,-R,$(SUNPATH)/lib/amd64 -lacml -lacml_mv -lfsu
95 endif
96
97 LIBSUNPERF      = -L$(SUNPATH)/lib/amd64 -L$(SUNPATH)/rtlibs/amd64 -Wl,-R,$(SUNPATH)/lib/amd64  -Wl,-R,$(SUNPATH)/rtlibs/amd64 -lsunperf -lfui -lfsu -lmtsk
98
99 LIBVECLIB       = /System/Library/Frameworks/vecLib.framework/Versions/Current/vecLib