2 # Include user definition
5 # TO suppress recursive includes
12 NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-netlib
15 # - Only set if not specified on the command line or inherited from the environment.
16 # - CC is an implicit variable so neither '?=' or 'ifndef' can be used.
17 # http://stackoverflow.com/questions/4029274/mingw-and-make-variables
18 # - Default value is 'cc' which is not always a valid command (e.g. MinGW).
19 ifeq ($(origin CC),default)
21 # Change the default compile to clang on Mac OSX.
22 # http://stackoverflow.com/questions/714100/os-detecting-makefile
23 UNAME_S := $(shell uname -s)
24 ifeq ($(UNAME_S),Darwin)
26 # EXTRALIB += -Wl,-no_compact_unwind
30 # Default Fortran compiler (FC) is selected by f_check.
33 include $(TOPDIR)/Makefile.rule
35 include $(TOPDIR)/$(MAKEFILE_RULE)
39 # Beginning of system configuration
47 GETARCH_FLAGS := -DFORCE_$(TARGET)
50 # Force fallbacks for 32bit
53 ifeq ($(TARGET), HASWELL)
54 GETARCH_FLAGS := -DFORCE_NEHALEM
56 ifeq ($(TARGET), SANDYBRIDGE)
57 GETARCH_FLAGS := -DFORCE_NEHALEM
59 ifeq ($(TARGET), BULLDOZER)
60 GETARCH_FLAGS := -DFORCE_BARCELONA
62 ifeq ($(TARGET), PILEDRIVER)
63 GETARCH_FLAGS := -DFORCE_BARCELONA
65 ifeq ($(TARGET), STEAMROLLER)
66 GETARCH_FLAGS := -DFORCE_BARCELONA
68 ifeq ($(TARGET), EXCAVATOR)
69 GETARCH_FLAGS := -DFORCE_BARCELONA
74 #TARGET_CORE will override TARGET which is used in DYNAMIC_ARCH=1.
77 GETARCH_FLAGS := -DFORCE_$(TARGET_CORE)
80 # Force fallbacks for 32bit
83 ifeq ($(TARGET_CORE), HASWELL)
84 GETARCH_FLAGS := -DFORCE_NEHALEM
86 ifeq ($(TARGET_CORE), SANDYBRIDGE)
87 GETARCH_FLAGS := -DFORCE_NEHALEM
89 ifeq ($(TARGET_CORE), BULLDOZER)
90 GETARCH_FLAGS := -DFORCE_BARCELONA
92 ifeq ($(TARGET_CORE), PILEDRIVER)
93 GETARCH_FLAGS := -DFORCE_BARCELONA
95 ifeq ($(TARGET_CORE), STEAMROLLER)
96 GETARCH_FLAGS := -DFORCE_BARCELONA
98 ifeq ($(TARGET_CORE), EXCAVATOR)
99 GETARCH_FLAGS := -DFORCE_BARCELONA
107 ifneq ($(INTERFACE64), 0)
108 GETARCH_FLAGS += -DUSE64BITINT
112 ifndef GEMM_MULTITHREAD_THRESHOLD
113 GEMM_MULTITHREAD_THRESHOLD=4
115 GETARCH_FLAGS += -DGEMM_MULTITHREAD_THRESHOLD=$(GEMM_MULTITHREAD_THRESHOLD)
118 GETARCH_FLAGS += -DNO_AVX
122 GETARCH_FLAGS += -DNO_AVX
126 GETARCH_FLAGS += -DNO_AVX2
133 ifeq ($(QUIET_MAKE), 1)
137 ifndef NO_PARALLEL_MAKE
140 GETARCH_FLAGS += -DNO_PARALLEL_MAKE=$(NO_PARALLEL_MAKE)
142 ifeq ($(HOSTCC), loongcc)
143 GETARCH_FLAGS += -static
146 #if don't use Fortran, it will only compile CBLAS.
147 ifeq ($(ONLY_CBLAS), 1)
153 # This operation is expensive, so execution should be once.
154 ifndef GOTOBLAS_MAKEFILE
155 export GOTOBLAS_MAKEFILE = 1
157 # Generating Makefile.conf and config.h
158 DUMMY := $(shell $(MAKE) -C $(TOPDIR) -f Makefile.prebuild CC="$(CC)" FC="$(FC)" HOSTCC="$(HOSTCC)" CFLAGS="$(GETARCH_FLAGS)" BINARY=$(BINARY) USE_OPENMP=$(USE_OPENMP) TARGET_CORE=$(TARGET_CORE) ONLY_CBLAS=$(ONLY_CBLAS) all)
161 include $(TOPDIR)/Makefile.conf
163 include $(TOPDIR)/Makefile_kernel.conf
169 NUM_THREADS = $(NUM_CORES)
172 ifeq ($(NUM_THREADS), 1)
173 override USE_THREAD = 0
177 ifeq ($(USE_THREAD), 0)
183 ifeq ($(NUM_THREAD), 1)
196 AR = $(CROSS_SUFFIX)ar
197 AS = $(CROSS_SUFFIX)as
198 LD = $(CROSS_SUFFIX)ld
199 RANLIB = $(CROSS_SUFFIX)ranlib
200 NM = $(CROSS_SUFFIX)nm
201 DLLWRAP = $(CROSS_SUFFIX)dllwrap
202 OBJCOPY = $(CROSS_SUFFIX)objcopy
203 OBJCONV = $(CROSS_SUFFIX)objconv
206 # For detect fortran failed, only build BLAS.
207 ifeq ($(NOFORTRAN), 1)
212 # OS dependent settings
215 ifeq ($(OSNAME), Darwin)
216 export MACOSX_DEPLOYMENT_TARGET=10.6
220 ifeq ($(OSNAME), FreeBSD)
224 ifeq ($(OSNAME), NetBSD)
228 ifeq ($(OSNAME), Linux)
233 ifeq ($(OSNAME), AIX)
237 ifeq ($(OSNAME), WINNT)
241 EXTRALIB += -defaultlib:advapi32
247 ifeq ($(C_COMPILER), CLANG)
248 CCOMMON_OPT += -DMS_ABI
251 ifeq ($(C_COMPILER), GCC)
252 #Test for supporting MS_ABI
253 GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
254 GCCVERSIONGT4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 4)
255 GCCMINORVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 7)
256 ifeq ($(GCCVERSIONGT4), 1)
257 # GCC Majar version > 4
258 # It is compatible with MSVC ABI.
259 CCOMMON_OPT += -DMS_ABI
262 ifeq ($(GCCVERSIONGTEQ4), 1)
263 ifeq ($(GCCMINORVERSIONGTEQ7), 1)
265 # It is compatible with MSVC ABI.
266 CCOMMON_OPT += -DMS_ABI
271 # Ensure the correct stack alignment on Win32
272 # http://permalink.gmane.org/gmane.comp.lib.openblas.general/97
274 CCOMMON_OPT += -mincoming-stack-boundary=2
275 FCOMMON_OPT += -mincoming-stack-boundary=2
280 ifeq ($(OSNAME), Interix)
284 INTERIX_TOOL_DIR = /opt/gcc.3.3/i586-pc-interix3/bin
287 ifeq ($(OSNAME), CYGWIN_NT)
292 ifneq ($(OSNAME), WINNT)
293 ifneq ($(OSNAME), CYGWIN_NT)
294 ifneq ($(OSNAME), Interix)
296 EXTRALIB += -lpthread
303 ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT Interix))
308 CCOMMON_OPT += -DQUAD_PRECISION
313 ifneq ($(ARCH), x86_64)
319 CCOMMON_OPT += -DUTEST_CHECK
324 CCOMMON_OPT += -DSANITY_CHECK -DREFNAME=$(*F)f$(BU)
327 ifdef MAX_STACK_ALLOC
328 CCOMMON_OPT += -DMAX_STACK_ALLOC=$(MAX_STACK_ALLOC)
332 # Architecture dependent settings
340 ifeq ($(CORE), generic)
344 ifndef NO_EXPRECISION
345 ifeq ($(F_COMPILER), GFORTRAN)
346 # ifeq logical or. GCC or LSB
347 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
349 CCOMMON_OPT += -DEXPRECISION -m128bit-long-double
350 FCOMMON_OPT += -m128bit-long-double
352 ifeq ($(C_COMPILER), CLANG)
354 CCOMMON_OPT += -DEXPRECISION
355 FCOMMON_OPT += -m128bit-long-double
361 ifeq ($(ARCH), x86_64)
363 ifeq ($(CORE), generic)
367 ifndef NO_EXPRECISION
368 ifeq ($(F_COMPILER), GFORTRAN)
369 # ifeq logical or. GCC or LSB
370 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
372 CCOMMON_OPT += -DEXPRECISION -m128bit-long-double
373 FCOMMON_OPT += -m128bit-long-double
375 ifeq ($(C_COMPILER), CLANG)
377 CCOMMON_OPT += -DEXPRECISION
378 FCOMMON_OPT += -m128bit-long-double
384 ifeq ($(C_COMPILER), INTEL)
385 CCOMMON_OPT += -wd981
389 ifeq ($(USE_OPENMP), 1)
392 ifeq ($(USE_THREAD), 0)
393 $(error OpenBLAS: Cannot set both USE_OPENMP=1 and USE_THREAD=0. The USE_THREAD=0 is only for building single thread version.)
396 # ifeq logical or. GCC or LSB
397 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
398 CCOMMON_OPT += -fopenmp
401 ifeq ($(C_COMPILER), CLANG)
402 $(error OpenBLAS: Clang didn't support OpenMP yet.)
403 CCOMMON_OPT += -fopenmp
406 ifeq ($(C_COMPILER), INTEL)
407 CCOMMON_OPT += -openmp
410 ifeq ($(C_COMPILER), PGI)
414 ifeq ($(C_COMPILER), OPEN64)
416 CEXTRALIB += -lstdc++
419 ifeq ($(C_COMPILER), PATHSCALE)
425 ifeq ($(DYNAMIC_ARCH), 1)
427 DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \
428 CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
431 ifeq ($(ARCH), x86_64)
432 DYNAMIC_CORE = PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
434 DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER EXCAVATOR
436 ifneq ($(NO_AVX2), 1)
437 DYNAMIC_CORE += HASWELL
450 ifeq ($(F_COMPILER), GFORTRAN)
451 ifeq ($(C_COMPILER), GCC)
453 # CCOMMON_OPT += -DEXPRECISION
458 ifeq ($(ARCH), mips64)
462 ifeq ($(ARCH), alpha)
472 ifeq ($(ARCH), arm64)
481 # C Compiler dependent settings
485 # ifeq logical or. GCC or CLANG or LSB
486 # http://stackoverflow.com/questions/7656425/makefile-ifeq-logical-or
487 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC CLANG LSB))
489 COMMON_PROF += -fno-inline
490 NO_UNINITIALIZED_WARN = -Wno-uninitialized
492 ifeq ($(QUIET_MAKE), 1)
493 CCOMMON_OPT += $(NO_UNINITIALIZED_WARN) -Wno-unused
498 ifeq ($(ARCH), mips64)
500 CCOMMON_OPT += -mabi=64
502 CCOMMON_OPT += -mabi=n32
507 ifeq ($(CORE), LOONGSON3A)
508 CCOMMON_OPT += -march=mips64
509 FCOMMON_OPT += -march=mips64
512 ifeq ($(CORE), LOONGSON3B)
513 CCOMMON_OPT += -march=mips64
514 FCOMMON_OPT += -march=mips64
517 ifeq ($(OSNAME), AIX)
523 ifndef BINARY_DEFINED
533 ifeq ($(C_COMPILER), PGI)
535 CCOMMON_OPT += -tp p7-64
537 CCOMMON_OPT += -tp p7
541 ifeq ($(C_COMPILER), PATHSCALE)
550 # Fortran Compiler dependent settings
553 ifeq ($(F_COMPILER), G77)
554 CCOMMON_OPT += -DF_INTERFACE_G77
556 ifndef NO_BINARY_MODE
565 ifeq ($(F_COMPILER), G95)
566 CCOMMON_OPT += -DF_INTERFACE_G95
568 ifndef NO_BINARY_MODE
577 ifeq ($(F_COMPILER), GFORTRAN)
578 CCOMMON_OPT += -DF_INTERFACE_GFORT
580 #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc
581 ifneq ($(NO_LAPACK), 1)
582 EXTRALIB += -lgfortran
585 ifeq ($(ARCH), mips64)
587 FCOMMON_OPT += -mabi=64
589 FCOMMON_OPT += -mabi=n32
596 ifneq ($(INTERFACE64), 0)
597 FCOMMON_OPT += -fdefault-integer-8
604 ifeq ($(USE_OPENMP), 1)
605 FCOMMON_OPT += -fopenmp
609 ifeq ($(F_COMPILER), INTEL)
610 CCOMMON_OPT += -DF_INTERFACE_INTEL
612 ifneq ($(INTERFACE64), 0)
616 ifeq ($(USE_OPENMP), 1)
617 FCOMMON_OPT += -openmp
621 ifeq ($(F_COMPILER), FUJITSU)
622 CCOMMON_OPT += -DF_INTERFACE_FUJITSU
623 ifeq ($(USE_OPENMP), 1)
624 FCOMMON_OPT += -openmp
628 ifeq ($(F_COMPILER), IBM)
629 CCOMMON_OPT += -DF_INTERFACE_IBM
630 # FCOMMON_OPT += -qarch=440
634 ifneq ($(INTERFACE64), 0)
635 FCOMMON_OPT += -qintsize=8
641 ifeq ($(USE_OPENMP), 1)
642 FCOMMON_OPT += -openmp
646 ifeq ($(F_COMPILER), PGI)
647 CCOMMON_OPT += -DF_INTERFACE_PGI
648 COMMON_PROF += -DPGICOMPILER
651 ifneq ($(INTERFACE64), 0)
655 FCOMMON_OPT += -tp p7-64
657 FCOMMON_OPT += -tp p7
659 ifeq ($(USE_OPENMP), 1)
664 ifeq ($(F_COMPILER), PATHSCALE)
665 CCOMMON_OPT += -DF_INTERFACE_PATHSCALE
668 ifneq ($(INTERFACE64), 0)
674 ifneq ($(ARCH), mips64)
682 FCOMMON_OPT += -mabi=64
684 FCOMMON_OPT += -mabi=n32
688 ifeq ($(USE_OPENMP), 1)
693 ifeq ($(F_COMPILER), OPEN64)
694 CCOMMON_OPT += -DF_INTERFACE_OPEN64
697 ifneq ($(INTERFACE64), 0)
703 ifeq ($(ARCH), mips64)
709 ifeq ($(CORE), LOONGSON3A)
710 FCOMMON_OPT += -loongson3 -static
713 ifeq ($(CORE), LOONGSON3B)
714 FCOMMON_OPT += -loongson3 -static
725 ifeq ($(USE_OPENMP), 1)
726 FEXTRALIB += -lstdc++
731 ifeq ($(C_COMPILER), OPEN64)
733 ifeq ($(ARCH), mips64)
739 ifeq ($(CORE), LOONGSON3A)
740 CCOMMON_OPT += -loongson3 -static
743 ifeq ($(CORE), LOONGSON3B)
744 CCOMMON_OPT += -loongson3 -static
757 ifeq ($(C_COMPILER), SUN)
766 ifeq ($(F_COMPILER), SUN)
767 CCOMMON_OPT += -DF_INTERFACE_SUN
773 ifeq ($(USE_OPENMP), 1)
774 FCOMMON_OPT += -xopenmp=parallel
778 ifeq ($(F_COMPILER), COMPAQ)
779 CCOMMON_OPT += -DF_INTERFACE_COMPAQ
780 ifeq ($(USE_OPENMP), 1)
781 FCOMMON_OPT += -openmp
787 ifneq ($(INTERFACE64), 0)
794 ifeq ($(NEED_PIC), 1)
795 ifeq ($(C_COMPILER), IBM)
796 CCOMMON_OPT += -qpic=large
800 ifeq ($(F_COMPILER), SUN)
807 ifeq ($(DYNAMIC_ARCH), 1)
808 CCOMMON_OPT += -DDYNAMIC_ARCH
811 ifeq ($(NO_LAPACK), 1)
812 CCOMMON_OPT += -DNO_LAPACK
813 #Disable LAPACK C interface
817 ifeq ($(NO_LAPACKE), 1)
818 CCOMMON_OPT += -DNO_LAPACKE
822 CCOMMON_OPT += -DNO_AVX
826 CCOMMON_OPT += -DNO_AVX
830 CCOMMON_OPT += -DNO_AVX2
834 CCOMMON_OPT += -DSMP_SERVER
836 ifeq ($(ARCH), mips64)
837 ifneq ($(CORE), LOONGSON3B)
838 USE_SIMPLE_THREADED_LEVEL3 = 1
842 ifeq ($(USE_OPENMP), 1)
843 # USE_SIMPLE_THREADED_LEVEL3 = 1
845 CCOMMON_OPT += -DUSE_OPENMP
849 CCOMMON_OPT += -DBIGNUMA
854 ifeq ($(NO_WARMUP), 1)
855 CCOMMON_OPT += -DNO_WARMUP
858 ifeq ($(CONSISTENT_FPCSR), 1)
859 CCOMMON_OPT += -DCONSISTENT_FPCSR
862 # Only for development
863 # CCOMMON_OPT += -DPARAMTEST
864 # CCOMMON_OPT += -DPREFETCHTEST
865 # CCOMMON_OPT += -DNO_SWITCHING
869 CCOMMON_OPT += -DUSE_PAPI
870 EXTRALIB += -lpapi -lperfctr
873 ifdef DYNAMIC_THREADS
874 CCOMMON_OPT += -DDYNAMIC_THREADS
877 CCOMMON_OPT += -DMAX_CPU_NUMBER=$(NUM_THREADS)
879 ifdef USE_SIMPLE_THREADED_LEVEL3
880 CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3
892 LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)
894 LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)_$(LIBNAMESUFFIX)
897 KERNELDIR = $(TOPDIR)/kernel/$(ARCH)
899 include $(TOPDIR)/Makefile.$(ARCH)
901 CCOMMON_OPT += -DASMNAME=$(FU)$(*F) -DASMFNAME=$(FU)$(*F)$(BU) -DNAME=$(*F)$(BU) -DCNAME=$(*F) -DCHAR_NAME=\"$(*F)$(BU)\" -DCHAR_CNAME=\"$(*F)\"
903 ifeq ($(CORE), PPC440)
904 CCOMMON_OPT += -DALLOC_QALLOC
907 ifeq ($(CORE), PPC440FP2)
908 STATIC_ALLOCATION = 1
911 ifneq ($(OSNAME), Linux)
915 ifneq ($(ARCH), x86_64)
917 ifneq ($(CORE), LOONGSON3B)
924 CCOMMON_OPT += -DNO_AFFINITY
927 ifdef FUNCTION_PROFILE
928 CCOMMON_OPT += -DFUNCTION_PROFILE
931 ifdef HUGETLB_ALLOCATION
932 CCOMMON_OPT += -DALLOC_HUGETLB
935 ifdef HUGETLBFILE_ALLOCATION
936 CCOMMON_OPT += -DALLOC_HUGETLBFILE -DHUGETLB_FILE_NAME=$(HUGETLBFILE_ALLOCATION)
939 ifdef STATIC_ALLOCATION
940 CCOMMON_OPT += -DALLOC_STATIC
943 ifdef DEVICEDRIVER_ALLOCATION
944 CCOMMON_OPT += -DALLOC_DEVICEDRIVER -DDEVICEDRIVER_NAME=\"/dev/mapper\"
947 ifdef MIXED_MEMORY_ALLOCATION
948 CCOMMON_OPT += -DMIXED_MEMORY_ALLOCATION
951 ifeq ($(OSNAME), SunOS)
967 REVISION = -r$(VERSION)
968 MAJOR_VERSION = $(word 1,$(subst ., ,$(VERSION)))
979 override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR)
980 override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF)
982 override FFLAGS += $(COMMON_OPT) $(FCOMMON_OPT)
983 override FPFLAGS += $(COMMON_OPT) $(FCOMMON_OPT) $(COMMON_PROF)
986 #For LAPACK Fortran codes.
987 #Disable -fopenmp for LAPACK Fortran codes on Windows.
989 LAPACK_FFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FFLAGS))
990 LAPACK_FPFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FPFLAGS))
992 LAPACK_FFLAGS := $(FFLAGS)
993 LAPACK_FPFLAGS := $(FPFLAGS)
996 LAPACK_CFLAGS = $(CFLAGS)
997 LAPACK_CFLAGS += -DHAVE_LAPACK_CONFIG_H
999 ifneq ($(INTERFACE64), 0)
1000 LAPACK_CFLAGS += -DLAPACK_ILP64
1005 LAPACK_CFLAGS += -DOPENBLAS_OS_WINDOWS
1007 ifeq ($(C_COMPILER), LSB)
1008 LAPACK_CFLAGS += -DLAPACK_COMPLEX_STRUCTURE
1023 ifneq ($(DYNAMIC_ARCH), 1)
1025 LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
1026 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
1028 LIBNAME = $(LIBPREFIX)_$(LIBCORE)p$(REVISION).$(LIBSUFFIX)
1029 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)p$(REVISION)_p.$(LIBSUFFIX)
1033 LIBNAME = $(LIBPREFIX)$(REVISION).$(LIBSUFFIX)
1034 LIBNAME_P = $(LIBPREFIX)$(REVISION)_p.$(LIBSUFFIX)
1036 LIBNAME = $(LIBPREFIX)p$(REVISION).$(LIBSUFFIX)
1037 LIBNAME_P = $(LIBPREFIX)p$(REVISION)_p.$(LIBSUFFIX)
1042 LIBDLLNAME = $(LIBPREFIX).dll
1043 LIBSONAME = $(LIBNAME:.$(LIBSUFFIX)=.so)
1044 LIBDYNNAME = $(LIBNAME:.$(LIBSUFFIX)=.dylib)
1045 LIBDEFNAME = $(LIBNAME:.$(LIBSUFFIX)=.def)
1046 LIBEXPNAME = $(LIBNAME:.$(LIBSUFFIX)=.exp)
1047 LIBZIPNAME = $(LIBNAME:.$(LIBSUFFIX)=.zip)
1049 LIBS = $(TOPDIR)/$(LIBNAME)
1050 LIBS_P = $(TOPDIR)/$(LIBNAME_P)
1053 LIB_COMPONENTS = BLAS
1054 ifneq ($(NO_CBLAS), 1)
1055 LIB_COMPONENTS += CBLAS
1058 ifneq ($(NO_LAPACK), 1)
1059 LIB_COMPONENTS += LAPACK
1060 ifneq ($(NO_LAPACKE), 1)
1061 LIB_COMPONENTS += LAPACKE
1065 ifeq ($(ONLY_CBLAS), 1)
1066 LIB_COMPONENTS = CBLAS
1079 export NEED2UNDERSCORES
1084 export MAKEFILE_RULE
1113 export FUNCTION_PROFILE
1116 export SGEMM_UNROLL_M
1117 export SGEMM_UNROLL_N
1118 export DGEMM_UNROLL_M
1119 export DGEMM_UNROLL_N
1120 export QGEMM_UNROLL_M
1121 export QGEMM_UNROLL_N
1122 export CGEMM_UNROLL_M
1123 export CGEMM_UNROLL_N
1124 export ZGEMM_UNROLL_M
1125 export ZGEMM_UNROLL_N
1126 export XGEMM_UNROLL_M
1127 export XGEMM_UNROLL_N
1128 export CGEMM3M_UNROLL_M
1129 export CGEMM3M_UNROLL_N
1130 export ZGEMM3M_UNROLL_M
1131 export ZGEMM3M_UNROLL_N
1132 export XGEMM3M_UNROLL_M
1133 export XGEMM3M_UNROLL_N
1143 .SUFFIXES: .$(PSUFFIX) .$(SUFFIX) .f
1146 $(FC) $(FFLAGS) -c $< -o $(@F)
1149 $(FC) $(FPFLAGS) -pg -c $< -o $(@F)
1153 PATHSCALEPATH = /opt/pathscale/lib/3.1
1154 PGIPATH = /opt/pgi/linux86-64/7.1-5/lib
1156 PATHSCALEPATH = /opt/pathscale/lib/3.1/32
1157 PGIPATH = /opt/pgi/linux86/7.1-5/lib
1160 ACMLPATH = /opt/acml/4.3.0
1161 ifneq ($(OSNAME), Darwin)
1162 MKLPATH = /opt/intel/mkl/10.2.2.025/lib
1164 MKLPATH = /Library/Frameworks/Intel_MKL.framework/Versions/10.0.1.014/lib
1166 ATLASPATH = /opt/atlas/3.9.17/opteron
1167 FLAMEPATH = $(HOME)/flame/lib
1168 ifneq ($(OSNAME), SunOS)
1169 SUNPATH = /opt/sunstudio12.1
1171 SUNPATH = /opt/SUNWspro