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)
29 # Default Fortran compiler (FC) is selected by f_check.
32 include $(TOPDIR)/Makefile.rule
34 include $(TOPDIR)/$(MAKEFILE_RULE)
38 # Beginning of system configuration
46 GETARCH_FLAGS := -DFORCE_$(TARGET)
49 # Force fallbacks for 32bit
52 ifeq ($(TARGET), HASWELL)
53 GETARCH_FLAGS := -DFORCE_NEHALEM
55 ifeq ($(TARGET), SANDYBRIDGE)
56 GETARCH_FLAGS := -DFORCE_NEHALEM
58 ifeq ($(TARGET), BULLDOZER)
59 GETARCH_FLAGS := -DFORCE_BARCELONA
61 ifeq ($(TARGET), PILEDRIVER)
62 GETARCH_FLAGS := -DFORCE_BARCELONA
67 #TARGET_CORE will override TARGET which is used in DYNAMIC_ARCH=1.
70 GETARCH_FLAGS := -DFORCE_$(TARGET_CORE)
73 # Force fallbacks for 32bit
76 ifeq ($(TARGET_CORE), HASWELL)
77 GETARCH_FLAGS := -DFORCE_NEHALEM
79 ifeq ($(TARGET_CORE), SANDYBRIDGE)
80 GETARCH_FLAGS := -DFORCE_NEHALEM
82 ifeq ($(TARGET_CORE), BULLDOZER)
83 GETARCH_FLAGS := -DFORCE_BARCELONA
85 ifeq ($(TARGET_CORE), PILEDRIVER)
86 GETARCH_FLAGS := -DFORCE_BARCELONA
94 ifneq ($(INTERFACE64), 0)
95 GETARCH_FLAGS += -DUSE64BITINT
99 ifndef GEMM_MULTITHREAD_THRESHOLD
100 GEMM_MULTITHREAD_THRESHOLD=4
102 GETARCH_FLAGS += -DGEMM_MULTITHREAD_THRESHOLD=$(GEMM_MULTITHREAD_THRESHOLD)
105 GETARCH_FLAGS += -DNO_AVX
109 GETARCH_FLAGS += -DNO_AVX
113 GETARCH_FLAGS += -DNO_AVX2
120 ifeq ($(QUIET_MAKE), 1)
124 ifndef NO_PARALLEL_MAKE
127 GETARCH_FLAGS += -DNO_PARALLEL_MAKE=$(NO_PARALLEL_MAKE)
129 ifeq ($(HOSTCC), loongcc)
130 GETARCH_FLAGS += -static
133 #if don't use Fortran, it will only compile CBLAS.
134 ifeq ($(ONLY_CBLAS), 1)
140 # This operation is expensive, so execution should be once.
141 ifndef GOTOBLAS_MAKEFILE
142 export GOTOBLAS_MAKEFILE = 1
144 # Generating Makefile.conf and config.h
145 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)
148 include $(TOPDIR)/Makefile.conf
150 include $(TOPDIR)/Makefile_kernel.conf
156 NUM_THREADS = $(NUM_CORES)
159 ifeq ($(NUM_THREADS), 1)
160 override USE_THREAD = 0
164 ifeq ($(USE_THREAD), 0)
170 ifeq ($(NUM_THREAD), 1)
183 AR = $(CROSS_SUFFIX)ar
184 AS = $(CROSS_SUFFIX)as
185 LD = $(CROSS_SUFFIX)ld
186 RANLIB = $(CROSS_SUFFIX)ranlib
187 NM = $(CROSS_SUFFIX)nm
188 DLLWRAP = $(CROSS_SUFFIX)dllwrap
191 # OS dependent settings
194 ifeq ($(OSNAME), Darwin)
195 export MACOSX_DEPLOYMENT_TARGET=10.2
199 ifeq ($(OSNAME), FreeBSD)
203 ifeq ($(OSNAME), NetBSD)
207 ifeq ($(OSNAME), Linux)
212 ifeq ($(OSNAME), AIX)
216 ifeq ($(OSNAME), WINNT)
220 EXTRALIB += -defaultlib:advapi32
226 ifeq ($(C_COMPILER), CLANG)
227 CCOMMON_OPT += -DMS_ABI
230 ifeq ($(C_COMPILER), GCC)
231 #Test for supporting MS_ABI
232 GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
233 GCCVERSIONGT4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 4)
234 GCCMINORVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 7)
235 ifeq ($(GCCVERSIONGT4), 1)
236 # GCC Majar version > 4
237 # It is compatible with MSVC ABI.
238 CCOMMON_OPT += -DMS_ABI
241 ifeq ($(GCCVERSIONGTEQ4), 1)
242 ifeq ($(GCCMINORVERSIONGTEQ7), 1)
244 # It is compatible with MSVC ABI.
245 CCOMMON_OPT += -DMS_ABI
250 # Ensure the correct stack alignment on Win32
251 # http://permalink.gmane.org/gmane.comp.lib.openblas.general/97
253 CCOMMON_OPT += -mincoming-stack-boundary=2
254 FCOMMON_OPT += -mincoming-stack-boundary=2
259 ifeq ($(OSNAME), Interix)
263 INTERIX_TOOL_DIR = /opt/gcc.3.3/i586-pc-interix3/bin
266 ifeq ($(OSNAME), CYGWIN_NT)
271 ifneq ($(OSNAME), WINNT)
272 ifneq ($(OSNAME), CYGWIN_NT)
273 ifneq ($(OSNAME), Interix)
275 EXTRALIB += -lpthread
282 ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT Interix))
287 CCOMMON_OPT += -DQUAD_PRECISION
292 ifneq ($(ARCH), x86_64)
298 CCOMMON_OPT += -DUTEST_CHECK
303 CCOMMON_OPT += -DSANITY_CHECK -DREFNAME=$(*F)f$(BU)
307 # Architecture dependent settings
314 ifndef NO_EXPRECISION
315 ifeq ($(F_COMPILER), GFORTRAN)
316 # ifeq logical or. GCC or LSB
317 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
319 CCOMMON_OPT += -DEXPRECISION -m128bit-long-double
320 FCOMMON_OPT += -m128bit-long-double
322 ifeq ($(C_COMPILER), CLANG)
324 CCOMMON_OPT += -DEXPRECISION
325 FCOMMON_OPT += -m128bit-long-double
331 ifeq ($(ARCH), x86_64)
332 ifndef NO_EXPRECISION
333 ifeq ($(F_COMPILER), GFORTRAN)
334 # ifeq logical or. GCC or LSB
335 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
337 CCOMMON_OPT += -DEXPRECISION -m128bit-long-double
338 FCOMMON_OPT += -m128bit-long-double
340 ifeq ($(C_COMPILER), CLANG)
342 CCOMMON_OPT += -DEXPRECISION
343 FCOMMON_OPT += -m128bit-long-double
349 ifeq ($(C_COMPILER), INTEL)
350 CCOMMON_OPT += -wd981
353 ifeq ($(USE_OPENMP), 1)
354 # ifeq logical or. GCC or LSB
355 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
356 CCOMMON_OPT += -fopenmp
359 ifeq ($(C_COMPILER), CLANG)
360 $(error OpenBLAS: Clang didn't support OpenMP yet.)
361 CCOMMON_OPT += -fopenmp
364 ifeq ($(C_COMPILER), INTEL)
365 CCOMMON_OPT += -openmp
368 ifeq ($(C_COMPILER), PGI)
372 ifeq ($(C_COMPILER), OPEN64)
374 CEXTRALIB += -lstdc++
377 ifeq ($(C_COMPILER), PATHSCALE)
383 ifeq ($(DYNAMIC_ARCH), 1)
385 DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \
386 CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
389 ifeq ($(ARCH), x86_64)
390 DYNAMIC_CORE = PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
392 DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER
394 ifneq ($(NO_AVX2), 1)
395 DYNAMIC_CORE += HASWELL
408 ifeq ($(F_COMPILER), GFORTRAN)
409 ifeq ($(C_COMPILER), GCC)
411 # CCOMMON_OPT += -DEXPRECISION
416 ifeq ($(ARCH), mips64)
420 ifeq ($(ARCH), alpha)
430 ifeq ($(ARCH), arm64)
439 # C Compiler dependent settings
443 # ifeq logical or. GCC or CLANG or LSB
444 # http://stackoverflow.com/questions/7656425/makefile-ifeq-logical-or
445 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC CLANG LSB))
447 COMMON_PROF += -fno-inline
448 NO_UNINITIALIZED_WARN = -Wno-uninitialized
450 ifeq ($(QUIET_MAKE), 1)
451 CCOMMON_OPT += $(NO_UNINITIALIZED_WARN) -Wno-unused
456 ifeq ($(ARCH), mips64)
458 CCOMMON_OPT += -mabi=64
460 CCOMMON_OPT += -mabi=n32
465 ifeq ($(CORE), LOONGSON3A)
466 CCOMMON_OPT += -march=mips64
467 FCOMMON_OPT += -march=mips64
470 ifeq ($(CORE), LOONGSON3B)
471 CCOMMON_OPT += -march=mips64
472 FCOMMON_OPT += -march=mips64
475 ifeq ($(OSNAME), AIX)
481 ifndef BINARY_DEFINED
491 ifeq ($(C_COMPILER), PGI)
493 CCOMMON_OPT += -tp p7-64
495 CCOMMON_OPT += -tp p7
499 ifeq ($(C_COMPILER), PATHSCALE)
508 # Fortran Compiler dependent settings
511 ifeq ($(F_COMPILER), G77)
512 CCOMMON_OPT += -DF_INTERFACE_G77
514 ifndef NO_BINARY_MODE
523 ifeq ($(F_COMPILER), G95)
524 CCOMMON_OPT += -DF_INTERFACE_G95
526 ifndef NO_BINARY_MODE
535 ifeq ($(F_COMPILER), GFORTRAN)
536 CCOMMON_OPT += -DF_INTERFACE_GFORT
538 #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc
539 ifneq ($(NO_LAPACK), 1)
540 EXTRALIB += -lgfortran
543 ifeq ($(ARCH), mips64)
545 FCOMMON_OPT += -mabi=64
547 FCOMMON_OPT += -mabi=n32
554 ifneq ($(INTERFACE64), 0)
555 FCOMMON_OPT += -fdefault-integer-8
563 FCOMMON_OPT += -fopenmp
567 ifeq ($(F_COMPILER), INTEL)
568 CCOMMON_OPT += -DF_INTERFACE_INTEL
570 ifneq ($(INTERFACE64), 0)
575 FCOMMON_OPT += -openmp
579 ifeq ($(F_COMPILER), FUJITSU)
580 CCOMMON_OPT += -DF_INTERFACE_FUJITSU
582 FCOMMON_OPT += -openmp
586 ifeq ($(F_COMPILER), IBM)
587 CCOMMON_OPT += -DF_INTERFACE_IBM
588 # FCOMMON_OPT += -qarch=440
592 ifneq ($(INTERFACE64), 0)
593 FCOMMON_OPT += -qintsize=8
600 FCOMMON_OPT += -openmp
604 ifeq ($(F_COMPILER), PGI)
605 CCOMMON_OPT += -DF_INTERFACE_PGI
606 COMMON_PROF += -DPGICOMPILER
609 ifneq ($(INTERFACE64), 0)
613 FCOMMON_OPT += -tp p7-64
615 FCOMMON_OPT += -tp p7
622 ifeq ($(F_COMPILER), PATHSCALE)
623 CCOMMON_OPT += -DF_INTERFACE_PATHSCALE
626 ifneq ($(INTERFACE64), 0)
632 ifneq ($(ARCH), mips64)
640 FCOMMON_OPT += -mabi=64
642 FCOMMON_OPT += -mabi=n32
651 ifeq ($(F_COMPILER), OPEN64)
652 CCOMMON_OPT += -DF_INTERFACE_OPEN64
655 ifneq ($(INTERFACE64), 0)
661 ifeq ($(ARCH), mips64)
667 ifeq ($(CORE), LOONGSON3A)
668 FCOMMON_OPT += -loongson3 -static
671 ifeq ($(CORE), LOONGSON3B)
672 FCOMMON_OPT += -loongson3 -static
684 FEXTRALIB += -lstdc++
689 ifeq ($(C_COMPILER), OPEN64)
691 ifeq ($(ARCH), mips64)
697 ifeq ($(CORE), LOONGSON3A)
698 CCOMMON_OPT += -loongson3 -static
701 ifeq ($(CORE), LOONGSON3B)
702 CCOMMON_OPT += -loongson3 -static
715 ifeq ($(C_COMPILER), SUN)
724 ifeq ($(F_COMPILER), SUN)
725 CCOMMON_OPT += -DF_INTERFACE_SUN
732 FCOMMON_OPT += -xopenmp=parallel
736 ifeq ($(F_COMPILER), COMPAQ)
737 CCOMMON_OPT += -DF_INTERFACE_COMPAQ
739 FCOMMON_OPT += -openmp
745 ifneq ($(INTERFACE64), 0)
752 ifeq ($(NEED_PIC), 1)
753 ifeq ($(C_COMPILER), IBM)
754 CCOMMON_OPT += -qpic=large
758 ifeq ($(F_COMPILER), SUN)
765 ifeq ($(DYNAMIC_ARCH), 1)
766 CCOMMON_OPT += -DDYNAMIC_ARCH
769 ifeq ($(NO_LAPACK), 1)
770 CCOMMON_OPT += -DNO_LAPACK
771 #Disable LAPACK C interface
775 ifeq ($(NO_LAPACKE), 1)
776 CCOMMON_OPT += -DNO_LAPACKE
780 CCOMMON_OPT += -DNO_AVX
784 CCOMMON_OPT += -DNO_AVX
788 CCOMMON_OPT += -DNO_AVX2
792 CCOMMON_OPT += -DSMP_SERVER
794 ifeq ($(ARCH), mips64)
795 ifneq ($(CORE), LOONGSON3B)
796 USE_SIMPLE_THREADED_LEVEL3 = 1
800 ifeq ($(USE_OPENMP), 1)
801 # USE_SIMPLE_THREADED_LEVEL3 = 1
803 CCOMMON_OPT += -DUSE_OPENMP
808 ifeq ($(NO_WARMUP), 1)
809 CCOMMON_OPT += -DNO_WARMUP
812 ifeq ($(CONSISTENT_FPCSR), 1)
813 CCOMMON_OPT += -DCONSISTENT_FPCSR
816 # Only for development
817 # CCOMMON_OPT += -DPARAMTEST
818 # CCOMMON_OPT += -DPREFETCHTEST
819 # CCOMMON_OPT += -DNO_SWITCHING
823 CCOMMON_OPT += -DUSE_PAPI
824 EXTRALIB += -lpapi -lperfctr
827 ifdef DYNAMIC_THREADS
828 CCOMMON_OPT += -DDYNAMIC_THREADS
831 CCOMMON_OPT += -DMAX_CPU_NUMBER=$(NUM_THREADS)
833 ifdef USE_SIMPLE_THREADED_LEVEL3
834 CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3
838 LIBPREFIX = libopenblas
840 LIBPREFIX = libopenblas_$(LIBNAMESUFFIX)
843 KERNELDIR = $(TOPDIR)/kernel/$(ARCH)
845 include $(TOPDIR)/Makefile.$(ARCH)
847 CCOMMON_OPT += -DASMNAME=$(FU)$(*F) -DASMFNAME=$(FU)$(*F)$(BU) -DNAME=$(*F)$(BU) -DCNAME=$(*F) -DCHAR_NAME=\"$(*F)$(BU)\" -DCHAR_CNAME=\"$(*F)\"
849 ifeq ($(CORE), PPC440)
850 CCOMMON_OPT += -DALLOC_QALLOC
853 ifeq ($(CORE), PPC440FP2)
854 STATIC_ALLOCATION = 1
857 ifneq ($(OSNAME), Linux)
861 ifneq ($(ARCH), x86_64)
863 ifneq ($(CORE), LOONGSON3B)
870 CCOMMON_OPT += -DNO_AFFINITY
873 ifdef FUNCTION_PROFILE
874 CCOMMON_OPT += -DFUNCTION_PROFILE
877 ifdef HUGETLB_ALLOCATION
878 CCOMMON_OPT += -DALLOC_HUGETLB
881 ifdef HUGETLBFILE_ALLOCATION
882 CCOMMON_OPT += -DALLOC_HUGETLBFILE -DHUGETLB_FILE_NAME=$(HUGETLBFILE_ALLOCATION)
885 ifdef STATIC_ALLOCATION
886 CCOMMON_OPT += -DALLOC_STATIC
889 ifdef DEVICEDRIVER_ALLOCATION
890 CCOMMON_OPT += -DALLOC_DEVICEDRIVER -DDEVICEDRIVER_NAME=\"/dev/mapper\"
893 ifdef MIXED_MEMORY_ALLOCATION
894 CCOMMON_OPT += -DMIXED_MEMORY_ALLOCATION
897 ifeq ($(OSNAME), SunOS)
913 REVISION = -r$(VERSION)
914 MAJOR_VERSION = $(word 1,$(subst ., ,$(VERSION)))
925 override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR)
926 override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF)
928 override FFLAGS += $(COMMON_OPT) $(FCOMMON_OPT)
929 override FPFLAGS += $(COMMON_OPT) $(FCOMMON_OPT) $(COMMON_PROF)
932 #For LAPACK Fortran codes.
933 #Disable -fopenmp for LAPACK Fortran codes on Windows.
935 LAPACK_FFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FFLAGS))
936 LAPACK_FPFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FPFLAGS))
938 LAPACK_FFLAGS := $(FFLAGS)
939 LAPACK_FPFLAGS := $(FPFLAGS)
942 LAPACK_CFLAGS = $(CFLAGS)
943 LAPACK_CFLAGS += -DHAVE_LAPACK_CONFIG_H
945 ifneq ($(INTERFACE64), 0)
946 LAPACK_CFLAGS += -DLAPACK_ILP64
951 LAPACK_CFLAGS += -DOPENBLAS_OS_WINDOWS
953 ifeq ($(C_COMPILER), LSB)
954 LAPACK_CFLAGS += -DLAPACK_COMPLEX_STRUCTURE
969 ifneq ($(DYNAMIC_ARCH), 1)
971 LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
972 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
974 LIBNAME = $(LIBPREFIX)_$(LIBCORE)p$(REVISION).$(LIBSUFFIX)
975 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)p$(REVISION)_p.$(LIBSUFFIX)
979 LIBNAME = $(LIBPREFIX)$(REVISION).$(LIBSUFFIX)
980 LIBNAME_P = $(LIBPREFIX)$(REVISION)_p.$(LIBSUFFIX)
982 LIBNAME = $(LIBPREFIX)p$(REVISION).$(LIBSUFFIX)
983 LIBNAME_P = $(LIBPREFIX)p$(REVISION)_p.$(LIBSUFFIX)
988 LIBDLLNAME = $(LIBPREFIX).dll
989 LIBSONAME = $(LIBNAME:.$(LIBSUFFIX)=.so)
990 LIBDYNNAME = $(LIBNAME:.$(LIBSUFFIX)=.dylib)
991 LIBDEFNAME = $(LIBNAME:.$(LIBSUFFIX)=.def)
992 LIBEXPNAME = $(LIBNAME:.$(LIBSUFFIX)=.exp)
993 LIBZIPNAME = $(LIBNAME:.$(LIBSUFFIX)=.zip)
995 LIBS = $(TOPDIR)/$(LIBNAME)
996 LIBS_P = $(TOPDIR)/$(LIBNAME_P)
999 LIB_COMPONENTS = BLAS
1000 ifneq ($(NO_CBLAS), 1)
1001 LIB_COMPONENTS += CBLAS
1004 ifneq ($(NO_LAPACK), 1)
1005 LIB_COMPONENTS += LAPACK
1006 ifneq ($(NO_LAPACKE), 1)
1007 LIB_COMPONENTS += LAPACKE
1011 ifeq ($(ONLY_CBLAS), 1)
1012 LIB_COMPONENTS = CBLAS
1025 export NEED2UNDERSCORES
1030 export MAKEFILE_RULE
1059 export FUNCTION_PROFILE
1062 export SGEMM_UNROLL_M
1063 export SGEMM_UNROLL_N
1064 export DGEMM_UNROLL_M
1065 export DGEMM_UNROLL_N
1066 export QGEMM_UNROLL_M
1067 export QGEMM_UNROLL_N
1068 export CGEMM_UNROLL_M
1069 export CGEMM_UNROLL_N
1070 export ZGEMM_UNROLL_M
1071 export ZGEMM_UNROLL_N
1072 export XGEMM_UNROLL_M
1073 export XGEMM_UNROLL_N
1074 export CGEMM3M_UNROLL_M
1075 export CGEMM3M_UNROLL_N
1076 export ZGEMM3M_UNROLL_M
1077 export ZGEMM3M_UNROLL_N
1078 export XGEMM3M_UNROLL_M
1079 export XGEMM3M_UNROLL_N
1089 .SUFFIXES: .$(PSUFFIX) .$(SUFFIX) .f
1092 $(FC) $(FFLAGS) -c $< -o $(@F)
1095 $(FC) $(FPFLAGS) -pg -c $< -o $(@F)
1099 PATHSCALEPATH = /opt/pathscale/lib/3.1
1100 PGIPATH = /opt/pgi/linux86-64/7.1-5/lib
1102 PATHSCALEPATH = /opt/pathscale/lib/3.1/32
1103 PGIPATH = /opt/pgi/linux86/7.1-5/lib
1106 ACMLPATH = /opt/acml/4.3.0
1107 ifneq ($(OSNAME), Darwin)
1108 MKLPATH = /opt/intel/mkl/10.2.2.025/lib
1110 MKLPATH = /Library/Frameworks/Intel_MKL.framework/Versions/10.0.1.014/lib
1112 ATLASPATH = /opt/atlas/3.9.17/opteron
1113 FLAMEPATH = $(HOME)/flame/lib
1114 ifneq ($(OSNAME), SunOS)
1115 SUNPATH = /opt/sunstudio12.1
1117 SUNPATH = /opt/SUNWspro