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) TARGET=$(TARGET) 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 ifndef MACOSX_DEPLOYMENT_TARGET
221 export MACOSX_DEPLOYMENT_TARGET=10.6
226 ifeq ($(OSNAME), FreeBSD)
230 ifeq ($(OSNAME), NetBSD)
234 ifeq ($(OSNAME), Linux)
239 ifeq ($(OSNAME), AIX)
243 ifeq ($(OSNAME), WINNT)
247 EXTRALIB += -defaultlib:advapi32
253 ifeq ($(C_COMPILER), CLANG)
254 CCOMMON_OPT += -DMS_ABI
257 ifeq ($(C_COMPILER), GCC)
258 #Test for supporting MS_ABI
259 GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
260 GCCVERSIONGT4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 4)
261 GCCMINORVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 7)
262 ifeq ($(GCCVERSIONGT4), 1)
263 # GCC Majar version > 4
264 # It is compatible with MSVC ABI.
265 CCOMMON_OPT += -DMS_ABI
268 ifeq ($(GCCVERSIONGTEQ4), 1)
269 ifeq ($(GCCMINORVERSIONGTEQ7), 1)
271 # It is compatible with MSVC ABI.
272 CCOMMON_OPT += -DMS_ABI
277 # Ensure the correct stack alignment on Win32
278 # http://permalink.gmane.org/gmane.comp.lib.openblas.general/97
280 CCOMMON_OPT += -mincoming-stack-boundary=2
281 FCOMMON_OPT += -mincoming-stack-boundary=2
286 ifeq ($(OSNAME), Interix)
290 INTERIX_TOOL_DIR = /opt/gcc.3.3/i586-pc-interix3/bin
293 ifeq ($(OSNAME), CYGWIN_NT)
298 ifneq ($(OSNAME), WINNT)
299 ifneq ($(OSNAME), CYGWIN_NT)
300 ifneq ($(OSNAME), Interix)
301 ifneq ($(OSNAME), Android)
303 EXTRALIB += -lpthread
311 ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT Interix))
316 CCOMMON_OPT += -DQUAD_PRECISION
321 ifneq ($(ARCH), x86_64)
327 CCOMMON_OPT += -DUTEST_CHECK
332 CCOMMON_OPT += -DSANITY_CHECK -DREFNAME=$(*F)f$(BU)
335 MAX_STACK_ALLOC ?= 2048
336 ifneq ($(MAX_STACK_ALLOC), 0)
337 CCOMMON_OPT += -DMAX_STACK_ALLOC=$(MAX_STACK_ALLOC)
341 # Architecture dependent settings
349 ifeq ($(CORE), generic)
353 ifndef NO_EXPRECISION
354 ifeq ($(F_COMPILER), GFORTRAN)
355 # ifeq logical or. GCC or LSB
356 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
358 CCOMMON_OPT += -DEXPRECISION -m128bit-long-double
359 FCOMMON_OPT += -m128bit-long-double
361 ifeq ($(C_COMPILER), CLANG)
363 CCOMMON_OPT += -DEXPRECISION
364 FCOMMON_OPT += -m128bit-long-double
370 ifeq ($(ARCH), x86_64)
372 ifeq ($(CORE), generic)
376 ifndef NO_EXPRECISION
377 ifeq ($(F_COMPILER), GFORTRAN)
378 # ifeq logical or. GCC or LSB
379 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
381 CCOMMON_OPT += -DEXPRECISION -m128bit-long-double
382 FCOMMON_OPT += -m128bit-long-double
384 ifeq ($(C_COMPILER), CLANG)
386 CCOMMON_OPT += -DEXPRECISION
387 FCOMMON_OPT += -m128bit-long-double
393 ifeq ($(C_COMPILER), INTEL)
394 CCOMMON_OPT += -wd981
398 ifeq ($(USE_OPENMP), 1)
401 ifeq ($(USE_THREAD), 0)
402 $(error OpenBLAS: Cannot set both USE_OPENMP=1 and USE_THREAD=0. The USE_THREAD=0 is only for building single thread version.)
405 # ifeq logical or. GCC or LSB
406 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
407 CCOMMON_OPT += -fopenmp
410 ifeq ($(C_COMPILER), CLANG)
411 $(error OpenBLAS: Clang didn't support OpenMP yet.)
412 CCOMMON_OPT += -fopenmp
415 ifeq ($(C_COMPILER), INTEL)
416 CCOMMON_OPT += -openmp
419 ifeq ($(C_COMPILER), PGI)
423 ifeq ($(C_COMPILER), OPEN64)
425 CEXTRALIB += -lstdc++
428 ifeq ($(C_COMPILER), PATHSCALE)
434 ifeq ($(DYNAMIC_ARCH), 1)
436 DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \
437 CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
440 ifeq ($(ARCH), x86_64)
441 DYNAMIC_CORE = PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
443 DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER EXCAVATOR
445 ifneq ($(NO_AVX2), 1)
446 DYNAMIC_CORE += HASWELL
459 ifeq ($(F_COMPILER), GFORTRAN)
460 ifeq ($(C_COMPILER), GCC)
462 # CCOMMON_OPT += -DEXPRECISION
467 ifeq ($(ARCH), $(filter $(ARCH),mips64 mips))
471 ifeq ($(ARCH), alpha)
481 ifeq ($(ARCH), arm64)
490 # C Compiler dependent settings
494 # ifeq logical or. GCC or CLANG or LSB
495 # http://stackoverflow.com/questions/7656425/makefile-ifeq-logical-or
496 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC CLANG LSB))
498 COMMON_PROF += -fno-inline
499 NO_UNINITIALIZED_WARN = -Wno-uninitialized
501 ifeq ($(QUIET_MAKE), 1)
502 CCOMMON_OPT += $(NO_UNINITIALIZED_WARN) -Wno-unused
507 ifeq ($(ARCH), $(filter $(ARCH),mips64))
509 CCOMMON_OPT += -mabi=64
511 CCOMMON_OPT += -mabi=n32
514 else ifeq ($(ARCH), $(filter $(ARCH),mips))
515 CCOMMON_OPT += -mabi=32
519 ifeq ($(CORE), LOONGSON3A)
520 CCOMMON_OPT += -march=mips64
521 FCOMMON_OPT += -march=mips64
524 ifeq ($(CORE), LOONGSON3B)
525 CCOMMON_OPT += -march=mips64
526 FCOMMON_OPT += -march=mips64
529 ifeq ($(CORE), P5600)
530 CCOMMON_OPT += -mips32r5 -mnan=2008 -mtune=p5600 $(MSA_FLAGS)
531 FCOMMON_OPT += -mips32r5 -mnan=2008 -mtune=p5600 $(MSA_FLAGS)
534 ifeq ($(CORE), I6400)
535 CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MSA_FLAGS)
536 FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MSA_FLAGS)
539 ifeq ($(CORE), P6600)
540 CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MSA_FLAGS)
541 FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MSA_FLAGS)
544 ifeq ($(OSNAME), AIX)
550 ifndef BINARY_DEFINED
560 ifeq ($(C_COMPILER), PGI)
562 CCOMMON_OPT += -tp p7-64
564 CCOMMON_OPT += -tp p7
568 ifeq ($(C_COMPILER), PATHSCALE)
577 # Fortran Compiler dependent settings
580 ifeq ($(F_COMPILER), G77)
581 CCOMMON_OPT += -DF_INTERFACE_G77
583 ifndef NO_BINARY_MODE
592 ifeq ($(F_COMPILER), G95)
593 CCOMMON_OPT += -DF_INTERFACE_G95
595 ifndef NO_BINARY_MODE
604 ifeq ($(F_COMPILER), GFORTRAN)
605 CCOMMON_OPT += -DF_INTERFACE_GFORT
607 #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc
608 ifneq ($(NO_LAPACK), 1)
609 EXTRALIB += -lgfortran
612 ifeq ($(ARCH), $(filter $(ARCH),mips64))
614 FCOMMON_OPT += -mabi=64
616 FCOMMON_OPT += -mabi=n32
618 else ifeq ($(ARCH), $(filter $(ARCH),mips))
619 FCOMMON_OPT += -mabi=32
625 ifneq ($(INTERFACE64), 0)
626 FCOMMON_OPT += -fdefault-integer-8
633 ifeq ($(USE_OPENMP), 1)
634 FCOMMON_OPT += -fopenmp
638 ifeq ($(F_COMPILER), INTEL)
639 CCOMMON_OPT += -DF_INTERFACE_INTEL
641 ifneq ($(INTERFACE64), 0)
645 ifeq ($(USE_OPENMP), 1)
646 FCOMMON_OPT += -openmp
650 ifeq ($(F_COMPILER), FUJITSU)
651 CCOMMON_OPT += -DF_INTERFACE_FUJITSU
652 ifeq ($(USE_OPENMP), 1)
653 FCOMMON_OPT += -openmp
657 ifeq ($(F_COMPILER), IBM)
658 CCOMMON_OPT += -DF_INTERFACE_IBM
659 # FCOMMON_OPT += -qarch=440
663 ifneq ($(INTERFACE64), 0)
664 FCOMMON_OPT += -qintsize=8
670 ifeq ($(USE_OPENMP), 1)
671 FCOMMON_OPT += -openmp
675 ifeq ($(F_COMPILER), PGI)
676 CCOMMON_OPT += -DF_INTERFACE_PGI
677 COMMON_PROF += -DPGICOMPILER
680 ifneq ($(INTERFACE64), 0)
684 FCOMMON_OPT += -tp p7-64
686 FCOMMON_OPT += -tp p7
688 ifeq ($(USE_OPENMP), 1)
693 ifeq ($(F_COMPILER), PATHSCALE)
694 CCOMMON_OPT += -DF_INTERFACE_PATHSCALE
697 ifneq ($(INTERFACE64), 0)
703 ifeq ($(USE_OPENMP), 1)
708 ifeq ($(F_COMPILER), OPEN64)
709 CCOMMON_OPT += -DF_INTERFACE_OPEN64
712 ifneq ($(INTERFACE64), 0)
718 ifeq ($(ARCH), $(filter $(ARCH),mips64 mips))
724 ifeq ($(CORE), LOONGSON3A)
725 FCOMMON_OPT += -loongson3 -static
728 ifeq ($(CORE), LOONGSON3B)
729 FCOMMON_OPT += -loongson3 -static
740 ifeq ($(USE_OPENMP), 1)
741 FEXTRALIB += -lstdc++
746 ifeq ($(C_COMPILER), OPEN64)
748 ifeq ($(ARCH), $(filter $(ARCH),mips64 mips))
754 ifeq ($(CORE), LOONGSON3A)
755 CCOMMON_OPT += -loongson3 -static
758 ifeq ($(CORE), LOONGSON3B)
759 CCOMMON_OPT += -loongson3 -static
772 ifeq ($(C_COMPILER), SUN)
781 ifeq ($(F_COMPILER), SUN)
782 CCOMMON_OPT += -DF_INTERFACE_SUN
788 ifeq ($(USE_OPENMP), 1)
789 FCOMMON_OPT += -xopenmp=parallel
793 ifeq ($(F_COMPILER), COMPAQ)
794 CCOMMON_OPT += -DF_INTERFACE_COMPAQ
795 ifeq ($(USE_OPENMP), 1)
796 FCOMMON_OPT += -openmp
802 ifneq ($(INTERFACE64), 0)
809 ifeq ($(NEED_PIC), 1)
810 ifeq ($(C_COMPILER), IBM)
811 CCOMMON_OPT += -qpic=large
815 ifeq ($(F_COMPILER), SUN)
822 ifeq ($(DYNAMIC_ARCH), 1)
823 CCOMMON_OPT += -DDYNAMIC_ARCH
826 ifeq ($(NO_LAPACK), 1)
827 CCOMMON_OPT += -DNO_LAPACK
828 #Disable LAPACK C interface
832 ifeq ($(NO_LAPACKE), 1)
833 CCOMMON_OPT += -DNO_LAPACKE
837 CCOMMON_OPT += -DNO_AVX
841 CCOMMON_OPT += -DNO_AVX
845 CCOMMON_OPT += -DNO_AVX2
849 CCOMMON_OPT += -DSMP_SERVER
851 ifeq ($(ARCH), mips64)
852 ifneq ($(CORE), LOONGSON3B)
853 USE_SIMPLE_THREADED_LEVEL3 = 1
857 ifeq ($(USE_OPENMP), 1)
858 # USE_SIMPLE_THREADED_LEVEL3 = 1
860 CCOMMON_OPT += -DUSE_OPENMP
864 CCOMMON_OPT += -DBIGNUMA
869 ifeq ($(NO_WARMUP), 1)
870 CCOMMON_OPT += -DNO_WARMUP
873 ifeq ($(CONSISTENT_FPCSR), 1)
874 CCOMMON_OPT += -DCONSISTENT_FPCSR
877 # Only for development
878 # CCOMMON_OPT += -DPARAMTEST
879 # CCOMMON_OPT += -DPREFETCHTEST
880 # CCOMMON_OPT += -DNO_SWITCHING
884 CCOMMON_OPT += -DUSE_PAPI
885 EXTRALIB += -lpapi -lperfctr
888 ifdef DYNAMIC_THREADS
889 CCOMMON_OPT += -DDYNAMIC_THREADS
892 CCOMMON_OPT += -DMAX_CPU_NUMBER=$(NUM_THREADS)
894 ifdef USE_SIMPLE_THREADED_LEVEL3
895 CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3
907 LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)
909 LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)_$(LIBNAMESUFFIX)
912 KERNELDIR = $(TOPDIR)/kernel/$(ARCH)
914 include $(TOPDIR)/Makefile.$(ARCH)
916 CCOMMON_OPT += -DASMNAME=$(FU)$(*F) -DASMFNAME=$(FU)$(*F)$(BU) -DNAME=$(*F)$(BU) -DCNAME=$(*F) -DCHAR_NAME=\"$(*F)$(BU)\" -DCHAR_CNAME=\"$(*F)\"
918 ifeq ($(CORE), PPC440)
919 CCOMMON_OPT += -DALLOC_QALLOC
922 ifeq ($(CORE), PPC440FP2)
923 STATIC_ALLOCATION = 1
926 ifneq ($(OSNAME), Linux)
930 ifneq ($(ARCH), x86_64)
932 ifneq ($(CORE), LOONGSON3B)
939 CCOMMON_OPT += -DNO_AFFINITY
942 ifdef FUNCTION_PROFILE
943 CCOMMON_OPT += -DFUNCTION_PROFILE
946 ifdef HUGETLB_ALLOCATION
947 CCOMMON_OPT += -DALLOC_HUGETLB
950 ifdef HUGETLBFILE_ALLOCATION
951 CCOMMON_OPT += -DALLOC_HUGETLBFILE -DHUGETLB_FILE_NAME=$(HUGETLBFILE_ALLOCATION)
954 ifdef STATIC_ALLOCATION
955 CCOMMON_OPT += -DALLOC_STATIC
958 ifdef DEVICEDRIVER_ALLOCATION
959 CCOMMON_OPT += -DALLOC_DEVICEDRIVER -DDEVICEDRIVER_NAME=\"/dev/mapper\"
962 ifdef MIXED_MEMORY_ALLOCATION
963 CCOMMON_OPT += -DMIXED_MEMORY_ALLOCATION
966 ifeq ($(OSNAME), SunOS)
983 REVISION = -r$(VERSION)
984 MAJOR_VERSION = $(word 1,$(subst ., ,$(VERSION)))
999 FCOMMON_OPT = -O2 -frecursive
1004 override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR)
1005 override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF)
1007 override FFLAGS += $(COMMON_OPT) $(FCOMMON_OPT)
1008 override FPFLAGS += $(FCOMMON_OPT) $(COMMON_PROF)
1011 #For LAPACK Fortran codes.
1012 #Disable -fopenmp for LAPACK Fortran codes on Windows.
1014 LAPACK_FFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FFLAGS))
1015 LAPACK_FPFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FPFLAGS))
1017 LAPACK_FFLAGS := $(FFLAGS)
1018 LAPACK_FPFLAGS := $(FPFLAGS)
1021 LAPACK_CFLAGS = $(CFLAGS)
1022 LAPACK_CFLAGS += -DHAVE_LAPACK_CONFIG_H
1024 ifneq ($(INTERFACE64), 0)
1025 LAPACK_CFLAGS += -DLAPACK_ILP64
1030 LAPACK_CFLAGS += -DOPENBLAS_OS_WINDOWS
1032 ifeq ($(C_COMPILER), LSB)
1033 LAPACK_CFLAGS += -DLAPACK_COMPLEX_STRUCTURE
1048 ifneq ($(DYNAMIC_ARCH), 1)
1050 LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
1051 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
1053 LIBNAME = $(LIBPREFIX)_$(LIBCORE)p$(REVISION).$(LIBSUFFIX)
1054 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)p$(REVISION)_p.$(LIBSUFFIX)
1058 LIBNAME = $(LIBPREFIX)$(REVISION).$(LIBSUFFIX)
1059 LIBNAME_P = $(LIBPREFIX)$(REVISION)_p.$(LIBSUFFIX)
1061 LIBNAME = $(LIBPREFIX)p$(REVISION).$(LIBSUFFIX)
1062 LIBNAME_P = $(LIBPREFIX)p$(REVISION)_p.$(LIBSUFFIX)
1067 LIBDLLNAME = $(LIBPREFIX).dll
1068 LIBSONAME = $(LIBNAME:.$(LIBSUFFIX)=.so)
1069 LIBDYNNAME = $(LIBNAME:.$(LIBSUFFIX)=.dylib)
1070 LIBDEFNAME = $(LIBNAME:.$(LIBSUFFIX)=.def)
1071 LIBEXPNAME = $(LIBNAME:.$(LIBSUFFIX)=.exp)
1072 LIBZIPNAME = $(LIBNAME:.$(LIBSUFFIX)=.zip)
1074 LIBS = $(TOPDIR)/$(LIBNAME)
1075 LIBS_P = $(TOPDIR)/$(LIBNAME_P)
1078 LIB_COMPONENTS = BLAS
1079 ifneq ($(NO_CBLAS), 1)
1080 LIB_COMPONENTS += CBLAS
1083 ifneq ($(NO_LAPACK), 1)
1084 LIB_COMPONENTS += LAPACK
1085 ifneq ($(NO_LAPACKE), 1)
1086 LIB_COMPONENTS += LAPACKE
1090 ifeq ($(ONLY_CBLAS), 1)
1091 LIB_COMPONENTS = CBLAS
1104 export NEED2UNDERSCORES
1109 export MAKEFILE_RULE
1140 export FUNCTION_PROFILE
1143 export SGEMM_UNROLL_M
1144 export SGEMM_UNROLL_N
1145 export DGEMM_UNROLL_M
1146 export DGEMM_UNROLL_N
1147 export QGEMM_UNROLL_M
1148 export QGEMM_UNROLL_N
1149 export CGEMM_UNROLL_M
1150 export CGEMM_UNROLL_N
1151 export ZGEMM_UNROLL_M
1152 export ZGEMM_UNROLL_N
1153 export XGEMM_UNROLL_M
1154 export XGEMM_UNROLL_N
1155 export CGEMM3M_UNROLL_M
1156 export CGEMM3M_UNROLL_N
1157 export ZGEMM3M_UNROLL_M
1158 export ZGEMM3M_UNROLL_N
1159 export XGEMM3M_UNROLL_M
1160 export XGEMM3M_UNROLL_N
1170 .SUFFIXES: .$(PSUFFIX) .$(SUFFIX) .f
1173 $(FC) $(FFLAGS) -c $< -o $(@F)
1176 $(FC) $(FPFLAGS) -pg -c $< -o $(@F)
1180 PATHSCALEPATH = /opt/pathscale/lib/3.1
1181 PGIPATH = /opt/pgi/linux86-64/7.1-5/lib
1183 PATHSCALEPATH = /opt/pathscale/lib/3.1/32
1184 PGIPATH = /opt/pgi/linux86/7.1-5/lib
1187 ACMLPATH = /opt/acml/4.3.0
1188 ifneq ($(OSNAME), Darwin)
1189 MKLPATH = /opt/intel/mkl/10.2.2.025/lib
1191 MKLPATH = /Library/Frameworks/Intel_MKL.framework/Versions/10.0.1.014/lib
1193 ATLASPATH = /opt/atlas/3.9.17/opteron
1194 FLAMEPATH = $(HOME)/flame/lib
1195 ifneq ($(OSNAME), SunOS)
1196 SUNPATH = /opt/sunstudio12.1
1198 SUNPATH = /opt/SUNWspro