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
64 ifeq ($(TARGET), STEAMROLLER)
65 GETARCH_FLAGS := -DFORCE_BARCELONA
70 #TARGET_CORE will override TARGET which is used in DYNAMIC_ARCH=1.
73 GETARCH_FLAGS := -DFORCE_$(TARGET_CORE)
76 # Force fallbacks for 32bit
79 ifeq ($(TARGET_CORE), HASWELL)
80 GETARCH_FLAGS := -DFORCE_NEHALEM
82 ifeq ($(TARGET_CORE), SANDYBRIDGE)
83 GETARCH_FLAGS := -DFORCE_NEHALEM
85 ifeq ($(TARGET_CORE), BULLDOZER)
86 GETARCH_FLAGS := -DFORCE_BARCELONA
88 ifeq ($(TARGET_CORE), PILEDRIVER)
89 GETARCH_FLAGS := -DFORCE_BARCELONA
91 ifeq ($(TARGET_CORE), STEAMROLLER)
92 GETARCH_FLAGS := -DFORCE_BARCELONA
100 ifneq ($(INTERFACE64), 0)
101 GETARCH_FLAGS += -DUSE64BITINT
105 ifndef GEMM_MULTITHREAD_THRESHOLD
106 GEMM_MULTITHREAD_THRESHOLD=4
108 GETARCH_FLAGS += -DGEMM_MULTITHREAD_THRESHOLD=$(GEMM_MULTITHREAD_THRESHOLD)
111 GETARCH_FLAGS += -DNO_AVX
115 GETARCH_FLAGS += -DNO_AVX
119 GETARCH_FLAGS += -DNO_AVX2
126 ifeq ($(QUIET_MAKE), 1)
130 ifndef NO_PARALLEL_MAKE
133 GETARCH_FLAGS += -DNO_PARALLEL_MAKE=$(NO_PARALLEL_MAKE)
135 ifeq ($(HOSTCC), loongcc)
136 GETARCH_FLAGS += -static
139 #if don't use Fortran, it will only compile CBLAS.
140 ifeq ($(ONLY_CBLAS), 1)
146 # This operation is expensive, so execution should be once.
147 ifndef GOTOBLAS_MAKEFILE
148 export GOTOBLAS_MAKEFILE = 1
150 # Generating Makefile.conf and config.h
151 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)
154 include $(TOPDIR)/Makefile.conf
156 include $(TOPDIR)/Makefile_kernel.conf
162 NUM_THREADS = $(NUM_CORES)
165 ifeq ($(NUM_THREADS), 1)
166 override USE_THREAD = 0
170 ifeq ($(USE_THREAD), 0)
176 ifeq ($(NUM_THREAD), 1)
189 AR = $(CROSS_SUFFIX)ar
190 AS = $(CROSS_SUFFIX)as
191 LD = $(CROSS_SUFFIX)ld
192 RANLIB = $(CROSS_SUFFIX)ranlib
193 NM = $(CROSS_SUFFIX)nm
194 DLLWRAP = $(CROSS_SUFFIX)dllwrap
195 OBJCOPY = $(CROSS_SUFFIX)objcopy
196 OBJCONV = $(CROSS_SUFFIX)objconv
199 # OS dependent settings
202 ifeq ($(OSNAME), Darwin)
203 export MACOSX_DEPLOYMENT_TARGET=10.2
207 ifeq ($(OSNAME), FreeBSD)
211 ifeq ($(OSNAME), NetBSD)
215 ifeq ($(OSNAME), Linux)
220 ifeq ($(OSNAME), AIX)
224 ifeq ($(OSNAME), WINNT)
228 EXTRALIB += -defaultlib:advapi32
234 ifeq ($(C_COMPILER), CLANG)
235 CCOMMON_OPT += -DMS_ABI
238 ifeq ($(C_COMPILER), GCC)
239 #Test for supporting MS_ABI
240 GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
241 GCCVERSIONGT4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 4)
242 GCCMINORVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 7)
243 ifeq ($(GCCVERSIONGT4), 1)
244 # GCC Majar version > 4
245 # It is compatible with MSVC ABI.
246 CCOMMON_OPT += -DMS_ABI
249 ifeq ($(GCCVERSIONGTEQ4), 1)
250 ifeq ($(GCCMINORVERSIONGTEQ7), 1)
252 # It is compatible with MSVC ABI.
253 CCOMMON_OPT += -DMS_ABI
258 # Ensure the correct stack alignment on Win32
259 # http://permalink.gmane.org/gmane.comp.lib.openblas.general/97
261 CCOMMON_OPT += -mincoming-stack-boundary=2
262 FCOMMON_OPT += -mincoming-stack-boundary=2
267 ifeq ($(OSNAME), Interix)
271 INTERIX_TOOL_DIR = /opt/gcc.3.3/i586-pc-interix3/bin
274 ifeq ($(OSNAME), CYGWIN_NT)
279 ifneq ($(OSNAME), WINNT)
280 ifneq ($(OSNAME), CYGWIN_NT)
281 ifneq ($(OSNAME), Interix)
283 EXTRALIB += -lpthread
290 ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT Interix))
295 CCOMMON_OPT += -DQUAD_PRECISION
300 ifneq ($(ARCH), x86_64)
306 CCOMMON_OPT += -DUTEST_CHECK
311 CCOMMON_OPT += -DSANITY_CHECK -DREFNAME=$(*F)f$(BU)
314 ifdef MAX_STACK_ALLOC
315 CCOMMON_OPT += -DMAX_STACK_ALLOC=$(MAX_STACK_ALLOC)
319 # Architecture dependent settings
326 ifndef NO_EXPRECISION
327 ifeq ($(F_COMPILER), GFORTRAN)
328 # ifeq logical or. GCC or LSB
329 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
331 CCOMMON_OPT += -DEXPRECISION -m128bit-long-double
332 FCOMMON_OPT += -m128bit-long-double
334 ifeq ($(C_COMPILER), CLANG)
336 CCOMMON_OPT += -DEXPRECISION
337 FCOMMON_OPT += -m128bit-long-double
343 ifeq ($(ARCH), x86_64)
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 ($(C_COMPILER), INTEL)
362 CCOMMON_OPT += -wd981
366 ifeq ($(USE_OPENMP), 1)
369 ifeq ($(USE_THREAD), 0)
370 $(error OpenBLAS: Cannot set both USE_OPENMP=1 and USE_THREAD=0. The USE_THREAD=0 is only for building single thread version.)
373 # ifeq logical or. GCC or LSB
374 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))
375 CCOMMON_OPT += -fopenmp
378 ifeq ($(C_COMPILER), CLANG)
379 $(error OpenBLAS: Clang didn't support OpenMP yet.)
380 CCOMMON_OPT += -fopenmp
383 ifeq ($(C_COMPILER), INTEL)
384 CCOMMON_OPT += -openmp
387 ifeq ($(C_COMPILER), PGI)
391 ifeq ($(C_COMPILER), OPEN64)
393 CEXTRALIB += -lstdc++
396 ifeq ($(C_COMPILER), PATHSCALE)
402 ifeq ($(DYNAMIC_ARCH), 1)
404 DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \
405 CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
408 ifeq ($(ARCH), x86_64)
409 DYNAMIC_CORE = PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
411 DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER
413 ifneq ($(NO_AVX2), 1)
414 DYNAMIC_CORE += HASWELL
427 ifeq ($(F_COMPILER), GFORTRAN)
428 ifeq ($(C_COMPILER), GCC)
430 # CCOMMON_OPT += -DEXPRECISION
435 ifeq ($(ARCH), mips64)
439 ifeq ($(ARCH), alpha)
449 ifeq ($(ARCH), arm64)
458 # C Compiler dependent settings
462 # ifeq logical or. GCC or CLANG or LSB
463 # http://stackoverflow.com/questions/7656425/makefile-ifeq-logical-or
464 ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC CLANG LSB))
466 COMMON_PROF += -fno-inline
467 NO_UNINITIALIZED_WARN = -Wno-uninitialized
469 ifeq ($(QUIET_MAKE), 1)
470 CCOMMON_OPT += $(NO_UNINITIALIZED_WARN) -Wno-unused
475 ifeq ($(ARCH), mips64)
477 CCOMMON_OPT += -mabi=64
479 CCOMMON_OPT += -mabi=n32
484 ifeq ($(CORE), LOONGSON3A)
485 CCOMMON_OPT += -march=mips64
486 FCOMMON_OPT += -march=mips64
489 ifeq ($(CORE), LOONGSON3B)
490 CCOMMON_OPT += -march=mips64
491 FCOMMON_OPT += -march=mips64
494 ifeq ($(OSNAME), AIX)
500 ifndef BINARY_DEFINED
510 ifeq ($(C_COMPILER), PGI)
512 CCOMMON_OPT += -tp p7-64
514 CCOMMON_OPT += -tp p7
518 ifeq ($(C_COMPILER), PATHSCALE)
527 # Fortran Compiler dependent settings
530 ifeq ($(F_COMPILER), G77)
531 CCOMMON_OPT += -DF_INTERFACE_G77
533 ifndef NO_BINARY_MODE
542 ifeq ($(F_COMPILER), G95)
543 CCOMMON_OPT += -DF_INTERFACE_G95
545 ifndef NO_BINARY_MODE
554 ifeq ($(F_COMPILER), GFORTRAN)
555 CCOMMON_OPT += -DF_INTERFACE_GFORT
557 #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc
558 ifneq ($(NO_LAPACK), 1)
559 EXTRALIB += -lgfortran
562 ifeq ($(ARCH), mips64)
564 FCOMMON_OPT += -mabi=64
566 FCOMMON_OPT += -mabi=n32
573 ifneq ($(INTERFACE64), 0)
574 FCOMMON_OPT += -fdefault-integer-8
582 FCOMMON_OPT += -fopenmp
586 ifeq ($(F_COMPILER), INTEL)
587 CCOMMON_OPT += -DF_INTERFACE_INTEL
589 ifneq ($(INTERFACE64), 0)
594 FCOMMON_OPT += -openmp
598 ifeq ($(F_COMPILER), FUJITSU)
599 CCOMMON_OPT += -DF_INTERFACE_FUJITSU
601 FCOMMON_OPT += -openmp
605 ifeq ($(F_COMPILER), IBM)
606 CCOMMON_OPT += -DF_INTERFACE_IBM
607 # FCOMMON_OPT += -qarch=440
611 ifneq ($(INTERFACE64), 0)
612 FCOMMON_OPT += -qintsize=8
619 FCOMMON_OPT += -openmp
623 ifeq ($(F_COMPILER), PGI)
624 CCOMMON_OPT += -DF_INTERFACE_PGI
625 COMMON_PROF += -DPGICOMPILER
628 ifneq ($(INTERFACE64), 0)
632 FCOMMON_OPT += -tp p7-64
634 FCOMMON_OPT += -tp p7
641 ifeq ($(F_COMPILER), PATHSCALE)
642 CCOMMON_OPT += -DF_INTERFACE_PATHSCALE
645 ifneq ($(INTERFACE64), 0)
651 ifneq ($(ARCH), mips64)
659 FCOMMON_OPT += -mabi=64
661 FCOMMON_OPT += -mabi=n32
670 ifeq ($(F_COMPILER), OPEN64)
671 CCOMMON_OPT += -DF_INTERFACE_OPEN64
674 ifneq ($(INTERFACE64), 0)
680 ifeq ($(ARCH), mips64)
686 ifeq ($(CORE), LOONGSON3A)
687 FCOMMON_OPT += -loongson3 -static
690 ifeq ($(CORE), LOONGSON3B)
691 FCOMMON_OPT += -loongson3 -static
703 FEXTRALIB += -lstdc++
708 ifeq ($(C_COMPILER), OPEN64)
710 ifeq ($(ARCH), mips64)
716 ifeq ($(CORE), LOONGSON3A)
717 CCOMMON_OPT += -loongson3 -static
720 ifeq ($(CORE), LOONGSON3B)
721 CCOMMON_OPT += -loongson3 -static
734 ifeq ($(C_COMPILER), SUN)
743 ifeq ($(F_COMPILER), SUN)
744 CCOMMON_OPT += -DF_INTERFACE_SUN
751 FCOMMON_OPT += -xopenmp=parallel
755 ifeq ($(F_COMPILER), COMPAQ)
756 CCOMMON_OPT += -DF_INTERFACE_COMPAQ
758 FCOMMON_OPT += -openmp
764 ifneq ($(INTERFACE64), 0)
771 ifeq ($(NEED_PIC), 1)
772 ifeq ($(C_COMPILER), IBM)
773 CCOMMON_OPT += -qpic=large
777 ifeq ($(F_COMPILER), SUN)
784 ifeq ($(DYNAMIC_ARCH), 1)
785 CCOMMON_OPT += -DDYNAMIC_ARCH
788 ifeq ($(NO_LAPACK), 1)
789 CCOMMON_OPT += -DNO_LAPACK
790 #Disable LAPACK C interface
794 ifeq ($(NO_LAPACKE), 1)
795 CCOMMON_OPT += -DNO_LAPACKE
799 CCOMMON_OPT += -DNO_AVX
803 CCOMMON_OPT += -DNO_AVX
807 CCOMMON_OPT += -DNO_AVX2
811 CCOMMON_OPT += -DSMP_SERVER
813 ifeq ($(ARCH), mips64)
814 ifneq ($(CORE), LOONGSON3B)
815 USE_SIMPLE_THREADED_LEVEL3 = 1
819 ifeq ($(USE_OPENMP), 1)
820 # USE_SIMPLE_THREADED_LEVEL3 = 1
822 CCOMMON_OPT += -DUSE_OPENMP
826 CCOMMON_OPT += -DBIGNUMA
831 ifeq ($(NO_WARMUP), 1)
832 CCOMMON_OPT += -DNO_WARMUP
835 ifeq ($(CONSISTENT_FPCSR), 1)
836 CCOMMON_OPT += -DCONSISTENT_FPCSR
839 # Only for development
840 # CCOMMON_OPT += -DPARAMTEST
841 # CCOMMON_OPT += -DPREFETCHTEST
842 # CCOMMON_OPT += -DNO_SWITCHING
846 CCOMMON_OPT += -DUSE_PAPI
847 EXTRALIB += -lpapi -lperfctr
850 ifdef DYNAMIC_THREADS
851 CCOMMON_OPT += -DDYNAMIC_THREADS
854 CCOMMON_OPT += -DMAX_CPU_NUMBER=$(NUM_THREADS)
856 ifdef USE_SIMPLE_THREADED_LEVEL3
857 CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3
861 LIBPREFIX = libopenblas
863 LIBPREFIX = libopenblas_$(LIBNAMESUFFIX)
874 KERNELDIR = $(TOPDIR)/kernel/$(ARCH)
876 include $(TOPDIR)/Makefile.$(ARCH)
878 CCOMMON_OPT += -DASMNAME=$(FU)$(*F) -DASMFNAME=$(FU)$(*F)$(BU) -DNAME=$(*F)$(BU) -DCNAME=$(*F) -DCHAR_NAME=\"$(*F)$(BU)\" -DCHAR_CNAME=\"$(*F)\"
880 ifeq ($(CORE), PPC440)
881 CCOMMON_OPT += -DALLOC_QALLOC
884 ifeq ($(CORE), PPC440FP2)
885 STATIC_ALLOCATION = 1
888 ifneq ($(OSNAME), Linux)
892 ifneq ($(ARCH), x86_64)
894 ifneq ($(CORE), LOONGSON3B)
901 CCOMMON_OPT += -DNO_AFFINITY
904 ifdef FUNCTION_PROFILE
905 CCOMMON_OPT += -DFUNCTION_PROFILE
908 ifdef HUGETLB_ALLOCATION
909 CCOMMON_OPT += -DALLOC_HUGETLB
912 ifdef HUGETLBFILE_ALLOCATION
913 CCOMMON_OPT += -DALLOC_HUGETLBFILE -DHUGETLB_FILE_NAME=$(HUGETLBFILE_ALLOCATION)
916 ifdef STATIC_ALLOCATION
917 CCOMMON_OPT += -DALLOC_STATIC
920 ifdef DEVICEDRIVER_ALLOCATION
921 CCOMMON_OPT += -DALLOC_DEVICEDRIVER -DDEVICEDRIVER_NAME=\"/dev/mapper\"
924 ifdef MIXED_MEMORY_ALLOCATION
925 CCOMMON_OPT += -DMIXED_MEMORY_ALLOCATION
928 ifeq ($(OSNAME), SunOS)
944 REVISION = -r$(VERSION)
945 MAJOR_VERSION = $(word 1,$(subst ., ,$(VERSION)))
956 override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR)
957 override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF)
959 override FFLAGS += $(COMMON_OPT) $(FCOMMON_OPT)
960 override FPFLAGS += $(COMMON_OPT) $(FCOMMON_OPT) $(COMMON_PROF)
963 #For LAPACK Fortran codes.
964 #Disable -fopenmp for LAPACK Fortran codes on Windows.
966 LAPACK_FFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FFLAGS))
967 LAPACK_FPFLAGS := $(filter-out -fopenmp -mp -openmp -xopenmp=parallel,$(FPFLAGS))
969 LAPACK_FFLAGS := $(FFLAGS)
970 LAPACK_FPFLAGS := $(FPFLAGS)
973 LAPACK_CFLAGS = $(CFLAGS)
974 LAPACK_CFLAGS += -DHAVE_LAPACK_CONFIG_H
976 ifneq ($(INTERFACE64), 0)
977 LAPACK_CFLAGS += -DLAPACK_ILP64
982 LAPACK_CFLAGS += -DOPENBLAS_OS_WINDOWS
984 ifeq ($(C_COMPILER), LSB)
985 LAPACK_CFLAGS += -DLAPACK_COMPLEX_STRUCTURE
1000 ifneq ($(DYNAMIC_ARCH), 1)
1002 LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
1003 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
1005 LIBNAME = $(LIBPREFIX)_$(LIBCORE)p$(REVISION).$(LIBSUFFIX)
1006 LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)p$(REVISION)_p.$(LIBSUFFIX)
1010 LIBNAME = $(LIBPREFIX)$(REVISION).$(LIBSUFFIX)
1011 LIBNAME_P = $(LIBPREFIX)$(REVISION)_p.$(LIBSUFFIX)
1013 LIBNAME = $(LIBPREFIX)p$(REVISION).$(LIBSUFFIX)
1014 LIBNAME_P = $(LIBPREFIX)p$(REVISION)_p.$(LIBSUFFIX)
1019 LIBDLLNAME = $(LIBPREFIX).dll
1020 LIBSONAME = $(LIBNAME:.$(LIBSUFFIX)=.so)
1021 LIBDYNNAME = $(LIBNAME:.$(LIBSUFFIX)=.dylib)
1022 LIBDEFNAME = $(LIBNAME:.$(LIBSUFFIX)=.def)
1023 LIBEXPNAME = $(LIBNAME:.$(LIBSUFFIX)=.exp)
1024 LIBZIPNAME = $(LIBNAME:.$(LIBSUFFIX)=.zip)
1026 LIBS = $(TOPDIR)/$(LIBNAME)
1027 LIBS_P = $(TOPDIR)/$(LIBNAME_P)
1030 LIB_COMPONENTS = BLAS
1031 ifneq ($(NO_CBLAS), 1)
1032 LIB_COMPONENTS += CBLAS
1035 ifneq ($(NO_LAPACK), 1)
1036 LIB_COMPONENTS += LAPACK
1037 ifneq ($(NO_LAPACKE), 1)
1038 LIB_COMPONENTS += LAPACKE
1042 ifeq ($(ONLY_CBLAS), 1)
1043 LIB_COMPONENTS = CBLAS
1056 export NEED2UNDERSCORES
1061 export MAKEFILE_RULE
1090 export FUNCTION_PROFILE
1093 export SGEMM_UNROLL_M
1094 export SGEMM_UNROLL_N
1095 export DGEMM_UNROLL_M
1096 export DGEMM_UNROLL_N
1097 export QGEMM_UNROLL_M
1098 export QGEMM_UNROLL_N
1099 export CGEMM_UNROLL_M
1100 export CGEMM_UNROLL_N
1101 export ZGEMM_UNROLL_M
1102 export ZGEMM_UNROLL_N
1103 export XGEMM_UNROLL_M
1104 export XGEMM_UNROLL_N
1105 export CGEMM3M_UNROLL_M
1106 export CGEMM3M_UNROLL_N
1107 export ZGEMM3M_UNROLL_M
1108 export ZGEMM3M_UNROLL_N
1109 export XGEMM3M_UNROLL_M
1110 export XGEMM3M_UNROLL_N
1120 .SUFFIXES: .$(PSUFFIX) .$(SUFFIX) .f
1123 $(FC) $(FFLAGS) -c $< -o $(@F)
1126 $(FC) $(FPFLAGS) -pg -c $< -o $(@F)
1130 PATHSCALEPATH = /opt/pathscale/lib/3.1
1131 PGIPATH = /opt/pgi/linux86-64/7.1-5/lib
1133 PATHSCALEPATH = /opt/pathscale/lib/3.1/32
1134 PGIPATH = /opt/pgi/linux86/7.1-5/lib
1137 ACMLPATH = /opt/acml/4.3.0
1138 ifneq ($(OSNAME), Darwin)
1139 MKLPATH = /opt/intel/mkl/10.2.2.025/lib
1141 MKLPATH = /Library/Frameworks/Intel_MKL.framework/Versions/10.0.1.014/lib
1143 ATLASPATH = /opt/atlas/3.9.17/opteron
1144 FLAMEPATH = $(HOME)/flame/lib
1145 ifneq ($(OSNAME), SunOS)
1146 SUNPATH = /opt/sunstudio12.1
1148 SUNPATH = /opt/SUNWspro