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)
143 GETARCH_FLAGS += -DMAKE_NB_JOBS=$(MAKE_NB_JOBS)
146 ifeq ($(HOSTCC), loongcc)
147 GETARCH_FLAGS += -static
150 #if don't use Fortran, it will only compile CBLAS.
151 ifeq ($(ONLY_CBLAS), 1)
157 # This operation is expensive, so execution should be once.
158 ifndef GOTOBLAS_MAKEFILE
159 export GOTOBLAS_MAKEFILE = 1
161 # Generating Makefile.conf and config.h
162 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)
165 include $(TOPDIR)/Makefile.conf
167 include $(TOPDIR)/Makefile_kernel.conf
173 NUM_THREADS = $(NUM_CORES)
176 ifeq ($(NUM_THREADS), 1)
177 override USE_THREAD = 0
181 ifeq ($(USE_THREAD), 0)
187 ifeq ($(NUM_THREAD), 1)
200 AR = $(CROSS_SUFFIX)ar
201 AS = $(CROSS_SUFFIX)as
202 LD = $(CROSS_SUFFIX)ld
203 RANLIB = $(CROSS_SUFFIX)ranlib
204 NM = $(CROSS_SUFFIX)nm
205 DLLWRAP = $(CROSS_SUFFIX)dllwrap
206 OBJCOPY = $(CROSS_SUFFIX)objcopy
207 OBJCONV = $(CROSS_SUFFIX)objconv
210 # For detect fortran failed, only build BLAS.
211 ifeq ($(NOFORTRAN), 1)
216 # OS dependent settings
219 ifeq ($(OSNAME), Darwin)
220 export MACOSX_DEPLOYMENT_TARGET=10.6
224 ifeq ($(OSNAME), FreeBSD)
228 ifeq ($(OSNAME), NetBSD)
232 ifeq ($(OSNAME), Linux)
237 ifeq ($(OSNAME), AIX)
241 ifeq ($(OSNAME), WINNT)
245 EXTRALIB += -defaultlib:advapi32
251 ifeq ($(C_COMPILER), CLANG)
252 CCOMMON_OPT += -DMS_ABI
255 ifeq ($(C_COMPILER), GCC)
256 #Test for supporting MS_ABI
257 GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
258 GCCVERSIONGT4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 4)
259 GCCMINORVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 7)
260 ifeq ($(GCCVERSIONGT4), 1)
261 # GCC Majar version > 4
262 # It is compatible with MSVC ABI.
263 CCOMMON_OPT += -DMS_ABI
266 ifeq ($(GCCVERSIONGTEQ4), 1)
267 ifeq ($(GCCMINORVERSIONGTEQ7), 1)
269 # It is compatible with MSVC ABI.
270 CCOMMON_OPT += -DMS_ABI
275 # Ensure the correct stack alignment on Win32
276 # http://permalink.gmane.org/gmane.comp.lib.openblas.general/97
278 CCOMMON_OPT += -mincoming-stack-boundary=2
279 FCOMMON_OPT += -mincoming-stack-boundary=2
284 ifeq ($(OSNAME), Interix)
288 INTERIX_TOOL_DIR = /opt/gcc.3.3/i586-pc-interix3/bin
291 ifeq ($(OSNAME), CYGWIN_NT)
296 ifneq ($(OSNAME), WINNT)
297 ifneq ($(OSNAME), CYGWIN_NT)
298 ifneq ($(OSNAME), Interix)
299 ifneq ($(OSNAME), Android)
301 EXTRALIB += -lpthread
309 ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT Interix))
314 CCOMMON_OPT += -DQUAD_PRECISION
319 ifneq ($(ARCH), x86_64)
325 CCOMMON_OPT += -DUTEST_CHECK
330 CCOMMON_OPT += -DSANITY_CHECK -DREFNAME=$(*F)f$(BU)
333 MAX_STACK_ALLOC ?= 2048
334 ifneq ($(MAX_STACK_ALLOC), 0)
335 CCOMMON_OPT += -DMAX_STACK_ALLOC=$(MAX_STACK_ALLOC)
339 # Architecture dependent settings
347 ifeq ($(CORE), generic)
351 ifndef NO_EXPRECISION
352 ifeq ($(F_COMPILER), GFORTRAN)
353 # ifeq logical or. GCC or LSB
354 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
356 CCOMMON_OPT += -DEXPRECISION -m128bit-long-double
357 FCOMMON_OPT += -m128bit-long-double
359 ifeq ($(C_COMPILER), CLANG)
361 CCOMMON_OPT += -DEXPRECISION
362 FCOMMON_OPT += -m128bit-long-double
368 ifeq ($(ARCH), x86_64)
370 ifeq ($(CORE), generic)
374 ifndef NO_EXPRECISION
375 ifeq ($(F_COMPILER), GFORTRAN)
376 # ifeq logical or. GCC or LSB
377 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
379 CCOMMON_OPT += -DEXPRECISION -m128bit-long-double
380 FCOMMON_OPT += -m128bit-long-double
382 ifeq ($(C_COMPILER), CLANG)
384 CCOMMON_OPT += -DEXPRECISION
385 FCOMMON_OPT += -m128bit-long-double
391 ifeq ($(C_COMPILER), INTEL)
392 CCOMMON_OPT += -wd981
396 ifeq ($(USE_OPENMP), 1)
399 ifeq ($(USE_THREAD), 0)
400 $(error OpenBLAS: Cannot set both USE_OPENMP=1 and USE_THREAD=0. The USE_THREAD=0 is only for building single thread version.)
403 # ifeq logical or. GCC or LSB
404 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
405 CCOMMON_OPT += -fopenmp
408 ifeq ($(C_COMPILER), CLANG)
409 $(error OpenBLAS: Clang didn't support OpenMP yet.)
410 CCOMMON_OPT += -fopenmp
413 ifeq ($(C_COMPILER), INTEL)
414 CCOMMON_OPT += -openmp
417 ifeq ($(C_COMPILER), PGI)
421 ifeq ($(C_COMPILER), OPEN64)
423 CEXTRALIB += -lstdc++
426 ifeq ($(C_COMPILER), PATHSCALE)
432 ifeq ($(DYNAMIC_ARCH), 1)
434 DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \
435 CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
438 ifeq ($(ARCH), x86_64)
439 DYNAMIC_CORE = PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
441 DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER EXCAVATOR
443 ifneq ($(NO_AVX2), 1)
444 DYNAMIC_CORE += HASWELL
457 ifeq ($(F_COMPILER), GFORTRAN)
458 ifeq ($(C_COMPILER), GCC)
460 # CCOMMON_OPT += -DEXPRECISION
465 ifeq ($(ARCH), mips64)
469 ifeq ($(ARCH), alpha)
479 ifeq ($(ARCH), arm64)
488 # C Compiler dependent settings
492 # ifeq logical or. GCC or CLANG or LSB
493 # http://stackoverflow.com/questions/7656425/makefile-ifeq-logical-or
494 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC CLANG LSB))
496 COMMON_PROF += -fno-inline
497 NO_UNINITIALIZED_WARN = -Wno-uninitialized
499 ifeq ($(QUIET_MAKE), 1)
500 CCOMMON_OPT += $(NO_UNINITIALIZED_WARN) -Wno-unused
505 ifeq ($(ARCH), mips64)
507 CCOMMON_OPT += -mabi=64
509 CCOMMON_OPT += -mabi=n32
514 ifeq ($(CORE), LOONGSON3A)
515 CCOMMON_OPT += -march=mips64
516 FCOMMON_OPT += -march=mips64
519 ifeq ($(CORE), LOONGSON3B)
520 CCOMMON_OPT += -march=mips64
521 FCOMMON_OPT += -march=mips64
524 ifeq ($(OSNAME), AIX)
530 ifndef BINARY_DEFINED
540 ifeq ($(C_COMPILER), PGI)
542 CCOMMON_OPT += -tp p7-64
544 CCOMMON_OPT += -tp p7
548 ifeq ($(C_COMPILER), PATHSCALE)
557 # Fortran Compiler dependent settings
560 ifeq ($(F_COMPILER), G77)
561 CCOMMON_OPT += -DF_INTERFACE_G77
563 ifndef NO_BINARY_MODE
572 ifeq ($(F_COMPILER), G95)
573 CCOMMON_OPT += -DF_INTERFACE_G95
575 ifndef NO_BINARY_MODE
584 ifeq ($(F_COMPILER), GFORTRAN)
585 CCOMMON_OPT += -DF_INTERFACE_GFORT
587 #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc
588 ifneq ($(NO_LAPACK), 1)
589 EXTRALIB += -lgfortran
592 ifeq ($(ARCH), mips64)
594 FCOMMON_OPT += -mabi=64
596 FCOMMON_OPT += -mabi=n32
603 ifneq ($(INTERFACE64), 0)
604 FCOMMON_OPT += -fdefault-integer-8
611 ifeq ($(USE_OPENMP), 1)
612 FCOMMON_OPT += -fopenmp
616 ifeq ($(F_COMPILER), INTEL)
617 CCOMMON_OPT += -DF_INTERFACE_INTEL
619 ifneq ($(INTERFACE64), 0)
623 ifeq ($(USE_OPENMP), 1)
624 FCOMMON_OPT += -openmp
628 ifeq ($(F_COMPILER), FUJITSU)
629 CCOMMON_OPT += -DF_INTERFACE_FUJITSU
630 ifeq ($(USE_OPENMP), 1)
631 FCOMMON_OPT += -openmp
635 ifeq ($(F_COMPILER), IBM)
636 CCOMMON_OPT += -DF_INTERFACE_IBM
637 # FCOMMON_OPT += -qarch=440
641 ifneq ($(INTERFACE64), 0)
642 FCOMMON_OPT += -qintsize=8
648 ifeq ($(USE_OPENMP), 1)
649 FCOMMON_OPT += -openmp
653 ifeq ($(F_COMPILER), PGI)
654 CCOMMON_OPT += -DF_INTERFACE_PGI
655 COMMON_PROF += -DPGICOMPILER
658 ifneq ($(INTERFACE64), 0)
662 FCOMMON_OPT += -tp p7-64
664 FCOMMON_OPT += -tp p7
666 ifeq ($(USE_OPENMP), 1)
671 ifeq ($(F_COMPILER), PATHSCALE)
672 CCOMMON_OPT += -DF_INTERFACE_PATHSCALE
675 ifneq ($(INTERFACE64), 0)
681 ifneq ($(ARCH), mips64)
689 FCOMMON_OPT += -mabi=64
691 FCOMMON_OPT += -mabi=n32
695 ifeq ($(USE_OPENMP), 1)
700 ifeq ($(F_COMPILER), OPEN64)
701 CCOMMON_OPT += -DF_INTERFACE_OPEN64
704 ifneq ($(INTERFACE64), 0)
710 ifeq ($(ARCH), mips64)
716 ifeq ($(CORE), LOONGSON3A)
717 FCOMMON_OPT += -loongson3 -static
720 ifeq ($(CORE), LOONGSON3B)
721 FCOMMON_OPT += -loongson3 -static
732 ifeq ($(USE_OPENMP), 1)
733 FEXTRALIB += -lstdc++
738 ifeq ($(C_COMPILER), OPEN64)
740 ifeq ($(ARCH), mips64)
746 ifeq ($(CORE), LOONGSON3A)
747 CCOMMON_OPT += -loongson3 -static
750 ifeq ($(CORE), LOONGSON3B)
751 CCOMMON_OPT += -loongson3 -static
764 ifeq ($(C_COMPILER), SUN)
773 ifeq ($(F_COMPILER), SUN)
774 CCOMMON_OPT += -DF_INTERFACE_SUN
780 ifeq ($(USE_OPENMP), 1)
781 FCOMMON_OPT += -xopenmp=parallel
785 ifeq ($(F_COMPILER), COMPAQ)
786 CCOMMON_OPT += -DF_INTERFACE_COMPAQ
787 ifeq ($(USE_OPENMP), 1)
788 FCOMMON_OPT += -openmp
794 ifneq ($(INTERFACE64), 0)
801 ifeq ($(NEED_PIC), 1)
802 ifeq ($(C_COMPILER), IBM)
803 CCOMMON_OPT += -qpic=large
807 ifeq ($(F_COMPILER), SUN)
814 ifeq ($(DYNAMIC_ARCH), 1)
815 CCOMMON_OPT += -DDYNAMIC_ARCH
818 ifeq ($(NO_LAPACK), 1)
819 CCOMMON_OPT += -DNO_LAPACK
820 #Disable LAPACK C interface
824 ifeq ($(NO_LAPACKE), 1)
825 CCOMMON_OPT += -DNO_LAPACKE
829 CCOMMON_OPT += -DNO_AVX
833 CCOMMON_OPT += -DNO_AVX
837 CCOMMON_OPT += -DNO_AVX2
841 CCOMMON_OPT += -DSMP_SERVER
843 ifeq ($(ARCH), mips64)
844 ifneq ($(CORE), LOONGSON3B)
845 USE_SIMPLE_THREADED_LEVEL3 = 1
849 ifeq ($(USE_OPENMP), 1)
850 # USE_SIMPLE_THREADED_LEVEL3 = 1
852 CCOMMON_OPT += -DUSE_OPENMP
856 CCOMMON_OPT += -DBIGNUMA
861 ifeq ($(NO_WARMUP), 1)
862 CCOMMON_OPT += -DNO_WARMUP
865 ifeq ($(CONSISTENT_FPCSR), 1)
866 CCOMMON_OPT += -DCONSISTENT_FPCSR
869 # Only for development
870 # CCOMMON_OPT += -DPARAMTEST
871 # CCOMMON_OPT += -DPREFETCHTEST
872 # CCOMMON_OPT += -DNO_SWITCHING
876 CCOMMON_OPT += -DUSE_PAPI
877 EXTRALIB += -lpapi -lperfctr
880 ifdef DYNAMIC_THREADS
881 CCOMMON_OPT += -DDYNAMIC_THREADS
884 CCOMMON_OPT += -DMAX_CPU_NUMBER=$(NUM_THREADS)
886 ifdef USE_SIMPLE_THREADED_LEVEL3
887 CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3
899 LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)
901 LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)_$(LIBNAMESUFFIX)
904 KERNELDIR = $(TOPDIR)/kernel/$(ARCH)
906 include $(TOPDIR)/Makefile.$(ARCH)
908 CCOMMON_OPT += -DASMNAME=$(FU)$(*F) -DASMFNAME=$(FU)$(*F)$(BU) -DNAME=$(*F)$(BU) -DCNAME=$(*F) -DCHAR_NAME=\"$(*F)$(BU)\" -DCHAR_CNAME=\"$(*F)\"
910 ifeq ($(CORE), PPC440)
911 CCOMMON_OPT += -DALLOC_QALLOC
914 ifeq ($(CORE), PPC440FP2)
915 STATIC_ALLOCATION = 1
918 ifneq ($(OSNAME), Linux)
922 ifneq ($(ARCH), x86_64)
924 ifneq ($(CORE), LOONGSON3B)
931 CCOMMON_OPT += -DNO_AFFINITY
934 ifdef FUNCTION_PROFILE
935 CCOMMON_OPT += -DFUNCTION_PROFILE
938 ifdef HUGETLB_ALLOCATION
939 CCOMMON_OPT += -DALLOC_HUGETLB
942 ifdef HUGETLBFILE_ALLOCATION
943 CCOMMON_OPT += -DALLOC_HUGETLBFILE -DHUGETLB_FILE_NAME=$(HUGETLBFILE_ALLOCATION)
946 ifdef STATIC_ALLOCATION
947 CCOMMON_OPT += -DALLOC_STATIC
950 ifdef DEVICEDRIVER_ALLOCATION
951 CCOMMON_OPT += -DALLOC_DEVICEDRIVER -DDEVICEDRIVER_NAME=\"/dev/mapper\"
954 ifdef MIXED_MEMORY_ALLOCATION
955 CCOMMON_OPT += -DMIXED_MEMORY_ALLOCATION
958 ifeq ($(OSNAME), SunOS)
975 REVISION = -r$(VERSION)
976 MAJOR_VERSION = $(word 1,$(subst ., ,$(VERSION)))
991 FCOMMON_OPT = -O2 -frecursive
996 override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR)
997 override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF)
999 override FFLAGS += $(FCOMMON_OPT)
1000 override FPFLAGS += $(FCOMMON_OPT) $(COMMON_PROF)
1003 #For LAPACK Fortran codes.
1004 #Disable -fopenmp for LAPACK Fortran codes on Windows.
1006 LAPACK_FFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FFLAGS))
1007 LAPACK_FPFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FPFLAGS))
1009 LAPACK_FFLAGS := $(FFLAGS)
1010 LAPACK_FPFLAGS := $(FPFLAGS)
1013 LAPACK_CFLAGS = $(CFLAGS)
1014 LAPACK_CFLAGS += -DHAVE_LAPACK_CONFIG_H
1016 ifneq ($(INTERFACE64), 0)
1017 LAPACK_CFLAGS += -DLAPACK_ILP64
1022 LAPACK_CFLAGS += -DOPENBLAS_OS_WINDOWS
1024 ifeq ($(C_COMPILER), LSB)
1025 LAPACK_CFLAGS += -DLAPACK_COMPLEX_STRUCTURE
1040 ifneq ($(DYNAMIC_ARCH), 1)
1042 LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
1043 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
1045 LIBNAME = $(LIBPREFIX)_$(LIBCORE)p$(REVISION).$(LIBSUFFIX)
1046 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)p$(REVISION)_p.$(LIBSUFFIX)
1050 LIBNAME = $(LIBPREFIX)$(REVISION).$(LIBSUFFIX)
1051 LIBNAME_P = $(LIBPREFIX)$(REVISION)_p.$(LIBSUFFIX)
1053 LIBNAME = $(LIBPREFIX)p$(REVISION).$(LIBSUFFIX)
1054 LIBNAME_P = $(LIBPREFIX)p$(REVISION)_p.$(LIBSUFFIX)
1059 LIBDLLNAME = $(LIBPREFIX).dll
1060 LIBSONAME = $(LIBNAME:.$(LIBSUFFIX)=.so)
1061 LIBDYNNAME = $(LIBNAME:.$(LIBSUFFIX)=.dylib)
1062 LIBDEFNAME = $(LIBNAME:.$(LIBSUFFIX)=.def)
1063 LIBEXPNAME = $(LIBNAME:.$(LIBSUFFIX)=.exp)
1064 LIBZIPNAME = $(LIBNAME:.$(LIBSUFFIX)=.zip)
1066 LIBS = $(TOPDIR)/$(LIBNAME)
1067 LIBS_P = $(TOPDIR)/$(LIBNAME_P)
1070 LIB_COMPONENTS = BLAS
1071 ifneq ($(NO_CBLAS), 1)
1072 LIB_COMPONENTS += CBLAS
1075 ifneq ($(NO_LAPACK), 1)
1076 LIB_COMPONENTS += LAPACK
1077 ifneq ($(NO_LAPACKE), 1)
1078 LIB_COMPONENTS += LAPACKE
1082 ifeq ($(ONLY_CBLAS), 1)
1083 LIB_COMPONENTS = CBLAS
1096 export NEED2UNDERSCORES
1101 export MAKEFILE_RULE
1130 export FUNCTION_PROFILE
1133 export SGEMM_UNROLL_M
1134 export SGEMM_UNROLL_N
1135 export DGEMM_UNROLL_M
1136 export DGEMM_UNROLL_N
1137 export QGEMM_UNROLL_M
1138 export QGEMM_UNROLL_N
1139 export CGEMM_UNROLL_M
1140 export CGEMM_UNROLL_N
1141 export ZGEMM_UNROLL_M
1142 export ZGEMM_UNROLL_N
1143 export XGEMM_UNROLL_M
1144 export XGEMM_UNROLL_N
1145 export CGEMM3M_UNROLL_M
1146 export CGEMM3M_UNROLL_N
1147 export ZGEMM3M_UNROLL_M
1148 export ZGEMM3M_UNROLL_N
1149 export XGEMM3M_UNROLL_M
1150 export XGEMM3M_UNROLL_N
1160 .SUFFIXES: .$(PSUFFIX) .$(SUFFIX) .f
1163 $(FC) $(FFLAGS) -c $< -o $(@F)
1166 $(FC) $(FPFLAGS) -pg -c $< -o $(@F)
1170 PATHSCALEPATH = /opt/pathscale/lib/3.1
1171 PGIPATH = /opt/pgi/linux86-64/7.1-5/lib
1173 PATHSCALEPATH = /opt/pathscale/lib/3.1/32
1174 PGIPATH = /opt/pgi/linux86/7.1-5/lib
1177 ACMLPATH = /opt/acml/4.3.0
1178 ifneq ($(OSNAME), Darwin)
1179 MKLPATH = /opt/intel/mkl/10.2.2.025/lib
1181 MKLPATH = /Library/Frameworks/Intel_MKL.framework/Versions/10.0.1.014/lib
1183 ATLASPATH = /opt/atlas/3.9.17/opteron
1184 FLAMEPATH = $(HOME)/flame/lib
1185 ifneq ($(OSNAME), SunOS)
1186 SUNPATH = /opt/sunstudio12.1
1188 SUNPATH = /opt/SUNWspro