You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

system.cmake 13 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553
  1. ##
  2. ## Author: Hank Anderson <hank@statease.com>
  3. ## Description: Ported from OpenBLAS/Makefile.system
  4. ##
  5. set(NETLIB_LAPACK_DIR "${PROJECT_SOURCE_DIR}/lapack-netlib")
  6. # TODO: Makefile.system detects Darwin (mac) and switches to clang here -hpa
  7. # http://stackoverflow.com/questions/714100/os-detecting-makefile
  8. # TODO: Makefile.system sets HOSTCC = $(CC) here if not already set -hpa
  9. # TARGET_CORE will override TARGET which is used in DYNAMIC_ARCH=1.
  10. if (DEFINED TARGET_CORE)
  11. set(TARGET ${TARGET_CORE})
  12. endif ()
  13. # Force fallbacks for 32bit
  14. if (DEFINED BINARY AND DEFINED TARGET AND BINARY EQUAL 32)
  15. message(STATUS "Compiling a ${BINARY}-bit binary.")
  16. set(NO_AVX 1)
  17. if (${TARGET} STREQUAL "HASWELL" OR ${TARGET} STREQUAL "SANDYBRIDGE")
  18. set(TARGET "NEHALEM")
  19. endif ()
  20. if (${TARGET} STREQUAL "BULLDOZER" OR ${TARGET} STREQUAL "PILEDRIVER" OR ${TARGET} STREQUAL "ZEN")
  21. set(TARGET "BARCELONA")
  22. endif ()
  23. endif ()
  24. if (DEFINED TARGET)
  25. message(STATUS "Targetting the ${TARGET} architecture.")
  26. set(GETARCH_FLAGS "-DFORCE_${TARGET}")
  27. endif ()
  28. if (INTERFACE64)
  29. message(STATUS "Using 64-bit integers.")
  30. set(GETARCH_FLAGS "${GETARCH_FLAGS} -DUSE64BITINT")
  31. endif ()
  32. if (NOT DEFINED GEMM_MULTITHREAD_THRESHOLD)
  33. set(GEMM_MULTITHREAD_THRESHOLD 4)
  34. endif ()
  35. message(STATUS "GEMM multithread threshold set to ${GEMM_MULTITHREAD_THRESHOLD}.")
  36. set(GETARCH_FLAGS "${GETARCH_FLAGS} -DGEMM_MULTITHREAD_THRESHOLD=${GEMM_MULTITHREAD_THRESHOLD}")
  37. if (NO_AVX)
  38. message(STATUS "Disabling Advanced Vector Extensions (AVX).")
  39. set(GETARCH_FLAGS "${GETARCH_FLAGS} -DNO_AVX")
  40. endif ()
  41. if (NO_AVX2)
  42. message(STATUS "Disabling Advanced Vector Extensions 2 (AVX2).")
  43. set(GETARCH_FLAGS "${GETARCH_FLAGS} -DNO_AVX2")
  44. endif ()
  45. if (CMAKE_BUILD_TYPE STREQUAL Debug)
  46. set(GETARCH_FLAGS "${GETARCH_FLAGS} -g")
  47. endif ()
  48. # TODO: let CMake handle this? -hpa
  49. #if (${QUIET_MAKE})
  50. # set(MAKE "${MAKE} -s")
  51. #endif()
  52. if (NOT DEFINED NO_PARALLEL_MAKE)
  53. set(NO_PARALLEL_MAKE 0)
  54. endif ()
  55. set(GETARCH_FLAGS "${GETARCH_FLAGS} -DNO_PARALLEL_MAKE=${NO_PARALLEL_MAKE}")
  56. if (CMAKE_CXX_COMPILER STREQUAL loongcc)
  57. set(GETARCH_FLAGS "${GETARCH_FLAGS} -static")
  58. endif ()
  59. #if don't use Fortran, it will only compile CBLAS.
  60. if (ONLY_CBLAS)
  61. set(NO_LAPACK 1)
  62. else ()
  63. set(ONLY_CBLAS 0)
  64. endif ()
  65. include("${PROJECT_SOURCE_DIR}/cmake/prebuild.cmake")
  66. if (NOT DEFINED NUM_THREADS)
  67. set(NUM_THREADS ${NUM_CORES})
  68. endif ()
  69. if (${NUM_THREADS} EQUAL 1)
  70. set(USE_THREAD 0)
  71. endif ()
  72. if (DEFINED USE_THREAD)
  73. if (NOT ${USE_THREAD})
  74. unset(SMP)
  75. else ()
  76. set(SMP 1)
  77. endif ()
  78. else ()
  79. # N.B. this is NUM_THREAD in Makefile.system which is probably a bug -hpa
  80. if (${NUM_THREADS} EQUAL 1)
  81. unset(SMP)
  82. else ()
  83. set(SMP 1)
  84. endif ()
  85. endif ()
  86. if (${SMP})
  87. message(STATUS "SMP enabled.")
  88. endif ()
  89. if (NOT DEFINED NEED_PIC)
  90. set(NEED_PIC 1)
  91. endif ()
  92. # TODO: I think CMake should be handling all this stuff -hpa
  93. unset(ARFLAGS)
  94. set(CPP "${COMPILER} -E")
  95. set(AR "${CROSS_SUFFIX}ar")
  96. set(AS "${CROSS_SUFFIX}as")
  97. set(LD "${CROSS_SUFFIX}ld")
  98. set(RANLIB "${CROSS_SUFFIX}ranlib")
  99. set(NM "${CROSS_SUFFIX}nm")
  100. set(DLLWRAP "${CROSS_SUFFIX}dllwrap")
  101. set(OBJCOPY "${CROSS_SUFFIX}objcopy")
  102. set(OBJCONV "${CROSS_SUFFIX}objconv")
  103. # OS dependent settings
  104. include("${PROJECT_SOURCE_DIR}/cmake/os.cmake")
  105. # Architecture dependent settings
  106. include("${PROJECT_SOURCE_DIR}/cmake/arch.cmake")
  107. # C Compiler dependent settings
  108. include("${PROJECT_SOURCE_DIR}/cmake/cc.cmake")
  109. if (NOT NOFORTRAN)
  110. # Fortran Compiler dependent settings
  111. include("${PROJECT_SOURCE_DIR}/cmake/fc.cmake")
  112. endif ()
  113. if (BINARY64)
  114. if (INTERFACE64)
  115. # CCOMMON_OPT += -DUSE64BITINT
  116. endif ()
  117. endif ()
  118. if (NEED_PIC)
  119. if (${CMAKE_C_COMPILER} STREQUAL "IBM")
  120. set(CCOMMON_OPT "${CCOMMON_OPT} -qpic=large")
  121. else ()
  122. set(CCOMMON_OPT "${CCOMMON_OPT} -fPIC")
  123. endif ()
  124. if (${F_COMPILER} STREQUAL "SUN")
  125. set(FCOMMON_OPT "${FCOMMON_OPT} -pic")
  126. else ()
  127. set(FCOMMON_OPT "${FCOMMON_OPT} -fPIC")
  128. endif ()
  129. endif ()
  130. if (DYNAMIC_ARCH)
  131. set(CCOMMON_OPT "${CCOMMON_OPT} -DDYNAMIC_ARCH")
  132. endif ()
  133. if (NO_LAPACK)
  134. set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_LAPACK")
  135. #Disable LAPACK C interface
  136. set(NO_LAPACKE 1)
  137. endif ()
  138. if (NO_LAPACKE)
  139. set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_LAPACKE")
  140. endif ()
  141. if (NO_AVX)
  142. set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_AVX")
  143. endif ()
  144. if (${ARCH} STREQUAL "x86")
  145. set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_AVX")
  146. endif ()
  147. if (NO_AVX2)
  148. set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_AVX2")
  149. endif ()
  150. if (SMP)
  151. set(CCOMMON_OPT "${CCOMMON_OPT} -DSMP_SERVER")
  152. if (${ARCH} STREQUAL "mips64")
  153. if (NOT ${CORE} STREQUAL "LOONGSON3B")
  154. set(USE_SIMPLE_THREADED_LEVEL3 1)
  155. endif ()
  156. endif ()
  157. if (USE_OPENMP)
  158. # USE_SIMPLE_THREADED_LEVEL3 = 1
  159. # NO_AFFINITY = 1
  160. set(CCOMMON_OPT "${CCOMMON_OPT} -DUSE_OPENMP")
  161. endif ()
  162. if (BIGNUMA)
  163. set(CCOMMON_OPT "${CCOMMON_OPT} -DBIGNUMA")
  164. endif ()
  165. endif ()
  166. if (NO_WARMUP)
  167. set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_WARMUP")
  168. endif ()
  169. if (CONSISTENT_FPCSR)
  170. set(CCOMMON_OPT "${CCOMMON_OPT} -DCONSISTENT_FPCSR")
  171. endif ()
  172. # Only for development
  173. # set(CCOMMON_OPT "${CCOMMON_OPT} -DPARAMTEST")
  174. # set(CCOMMON_OPT "${CCOMMON_OPT} -DPREFETCHTEST")
  175. # set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_SWITCHING")
  176. # set(USE_PAPI 1)
  177. if (USE_PAPI)
  178. set(CCOMMON_OPT "${CCOMMON_OPT} -DUSE_PAPI")
  179. set(EXTRALIB "${EXTRALIB} -lpapi -lperfctr")
  180. endif ()
  181. if (DYNAMIC_THREADS)
  182. set(CCOMMON_OPT "${CCOMMON_OPT} -DDYNAMIC_THREADS")
  183. endif ()
  184. set(CCOMMON_OPT "${CCOMMON_OPT} -DMAX_CPU_NUMBER=${NUM_THREADS}")
  185. if (USE_SIMPLE_THREADED_LEVEL3)
  186. set(CCOMMON_OPT "${CCOMMON_OPT} -DUSE_SIMPLE_THREADED_LEVEL3")
  187. endif ()
  188. if (DEFINED LIBNAMESUFFIX)
  189. set(LIBPREFIX "libopenblas_${LIBNAMESUFFIX}")
  190. else ()
  191. set(LIBPREFIX "libopenblas")
  192. endif ()
  193. if (NOT DEFINED SYMBOLPREFIX)
  194. set(SYMBOLPREFIX "")
  195. endif ()
  196. if (NOT DEFINED SYMBOLSUFFIX)
  197. set(SYMBOLSUFFIX "")
  198. endif ()
  199. set(KERNELDIR "${PROJECT_SOURCE_DIR}/kernel/${ARCH}")
  200. # TODO: nead to convert these Makefiles
  201. # include ${PROJECT_SOURCE_DIR}/cmake/${ARCH}.cmake
  202. if (${CORE} STREQUAL "PPC440")
  203. set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_QALLOC")
  204. endif ()
  205. if (${CORE} STREQUAL "PPC440FP2")
  206. set(STATIC_ALLOCATION 1)
  207. endif ()
  208. if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
  209. set(NO_AFFINITY 1)
  210. endif ()
  211. if (NOT ${ARCH} STREQUAL "x86_64" AND NOT ${ARCH} STREQUAL "x86" AND NOT ${CORE} STREQUAL "LOONGSON3B")
  212. set(NO_AFFINITY 1)
  213. endif ()
  214. if (NO_AFFINITY)
  215. set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_AFFINITY")
  216. endif ()
  217. if (FUNCTION_PROFILE)
  218. set(CCOMMON_OPT "${CCOMMON_OPT} -DFUNCTION_PROFILE")
  219. endif ()
  220. if (HUGETLB_ALLOCATION)
  221. set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_HUGETLB")
  222. endif ()
  223. if (DEFINED HUGETLBFILE_ALLOCATION)
  224. set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_HUGETLBFILE -DHUGETLB_FILE_NAME=${HUGETLBFILE_ALLOCATION})")
  225. endif ()
  226. if (STATIC_ALLOCATION)
  227. set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_STATIC")
  228. endif ()
  229. if (DEVICEDRIVER_ALLOCATION)
  230. set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_DEVICEDRIVER -DDEVICEDRIVER_NAME=\"/dev/mapper\"")
  231. endif ()
  232. if (MIXED_MEMORY_ALLOCATION)
  233. set(CCOMMON_OPT "${CCOMMON_OPT} -DMIXED_MEMORY_ALLOCATION")
  234. endif ()
  235. if (${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
  236. set(TAR gtar)
  237. set(PATCH gpatch)
  238. set(GREP ggrep)
  239. else ()
  240. set(TAR tar)
  241. set(PATCH patch)
  242. set(GREP grep)
  243. endif ()
  244. if (NOT DEFINED MD5SUM)
  245. set(MD5SUM md5sum)
  246. endif ()
  247. set(AWK awk)
  248. set(SED sed)
  249. set(REVISION "-r${OpenBLAS_VERSION}")
  250. set(MAJOR_VERSION ${OpenBLAS_MAJOR_VERSION})
  251. if (DEBUG)
  252. set(COMMON_OPT "${COMMON_OPT} -g")
  253. endif ()
  254. if (NOT DEFINED COMMON_OPT)
  255. set(COMMON_OPT "-O2")
  256. endif ()
  257. #For x86 32-bit
  258. if (DEFINED BINARY AND BINARY EQUAL 32)
  259. if (NOT MSVC)
  260. set(COMMON_OPT "${COMMON_OPT} -m32")
  261. endif()
  262. endif()
  263. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_OPT} ${CCOMMON_OPT}")
  264. if(NOT MSVC)
  265. set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${COMMON_OPT} ${CCOMMON_OPT}")
  266. endif()
  267. # TODO: not sure what PFLAGS is -hpa
  268. set(PFLAGS "${PFLAGS} ${COMMON_OPT} ${CCOMMON_OPT} -I${TOPDIR} -DPROFILE ${COMMON_PROF}")
  269. set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${COMMON_OPT} ${FCOMMON_OPT}")
  270. # TODO: not sure what FPFLAGS is -hpa
  271. set(FPFLAGS "${FPFLAGS} ${COMMON_OPT} ${FCOMMON_OPT} ${COMMON_PROF}")
  272. #For LAPACK Fortran codes.
  273. set(LAPACK_FFLAGS "${LAPACK_FFLAGS} ${CMAKE_Fortran_FLAGS}")
  274. set(LAPACK_FPFLAGS "${LAPACK_FPFLAGS} ${FPFLAGS}")
  275. #Disable -fopenmp for LAPACK Fortran codes on Windows.
  276. if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
  277. set(FILTER_FLAGS "-fopenmp;-mp;-openmp;-xopenmp=parralel")
  278. foreach (FILTER_FLAG ${FILTER_FLAGS})
  279. string(REPLACE ${FILTER_FLAG} "" LAPACK_FFLAGS ${LAPACK_FFLAGS})
  280. string(REPLACE ${FILTER_FLAG} "" LAPACK_FPFLAGS ${LAPACK_FPFLAGS})
  281. endforeach ()
  282. endif ()
  283. if ("${F_COMPILER}" STREQUAL "GFORTRAN")
  284. # lapack-netlib is rife with uninitialized warnings -hpa
  285. set(LAPACK_FFLAGS "${LAPACK_FFLAGS} -Wno-maybe-uninitialized")
  286. endif ()
  287. set(LAPACK_CFLAGS "${CMAKE_C_CFLAGS} -DHAVE_LAPACK_CONFIG_H")
  288. if (INTERFACE64)
  289. set(LAPACK_CFLAGS "${LAPACK_CFLAGS} -DLAPACK_ILP64")
  290. endif ()
  291. if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
  292. set(LAPACK_CFLAGS "${LAPACK_CFLAGS} -DOPENBLAS_OS_WINDOWS")
  293. endif ()
  294. if (${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
  295. set(LAPACK_CFLAGS "${LAPACK_CFLAGS} -DLAPACK_COMPLEX_STRUCTURE")
  296. endif ()
  297. if (NOT DEFINED SUFFIX)
  298. set(SUFFIX o)
  299. endif ()
  300. if (NOT DEFINED PSUFFIX)
  301. set(PSUFFIX po)
  302. endif ()
  303. if (NOT DEFINED LIBSUFFIX)
  304. set(LIBSUFFIX a)
  305. endif ()
  306. if (DYNAMIC_ARCH)
  307. if (DEFINED SMP)
  308. set(LIBNAME "${LIBPREFIX}p${REVISION}.${LIBSUFFIX}")
  309. set(LIBNAME_P "${LIBPREFIX}p${REVISION}_p.${LIBSUFFIX}")
  310. else ()
  311. set(LIBNAME "${LIBPREFIX}${REVISION}.${LIBSUFFIX}")
  312. set(LIBNAME_P "${LIBPREFIX}${REVISION}_p.${LIBSUFFIX}")
  313. endif ()
  314. else ()
  315. if (DEFINED SMP)
  316. set(LIBNAME "${LIBPREFIX}_${LIBCORE}p${REVISION}.${LIBSUFFIX}")
  317. set(LIBNAME_P "${LIBPREFIX}_${LIBCORE}p${REVISION}_p.${LIBSUFFIX}")
  318. else ()
  319. set(LIBNAME "${LIBPREFIX}_${LIBCORE}${REVISION}.${LIBSUFFIX}")
  320. set(LIBNAME_P "${LIBPREFIX}_${LIBCORE}${REVISION}_p.${LIBSUFFIX}")
  321. endif ()
  322. endif ()
  323. set(LIBDLLNAME "${LIBPREFIX}.dll")
  324. set(LIBSONAME "${LIBNAME}.${LIBSUFFIX}.so")
  325. set(LIBDYNNAME "${LIBNAME}.${LIBSUFFIX}.dylib")
  326. set(LIBDEFNAME "${LIBNAME}.${LIBSUFFIX}.def")
  327. set(LIBEXPNAME "${LIBNAME}.${LIBSUFFIX}.exp")
  328. set(LIBZIPNAME "${LIBNAME}.${LIBSUFFIX}.zip")
  329. set(LIBS "${PROJECT_SOURCE_DIR}/${LIBNAME}")
  330. set(LIBS_P "${PROJECT_SOURCE_DIR}/${LIBNAME_P}")
  331. set(LIB_COMPONENTS BLAS)
  332. if (NOT NO_CBLAS)
  333. set(LIB_COMPONENTS "${LIB_COMPONENTS} CBLAS")
  334. endif ()
  335. if (NOT NO_LAPACK)
  336. set(LIB_COMPONENTS "${LIB_COMPONENTS} LAPACK")
  337. if (NOT NO_LAPACKE)
  338. set(LIB_COMPONENTS "${LIB_COMPONENTS} LAPACKE")
  339. endif ()
  340. endif ()
  341. if (ONLY_CBLAS)
  342. set(LIB_COMPONENTS CBLAS)
  343. endif ()
  344. # For GEMM3M
  345. set(USE_GEMM3M 0)
  346. if (DEFINED ARCH)
  347. if (${ARCH} STREQUAL "x86" OR ${ARCH} STREQUAL "x86_64" OR ${ARCH} STREQUAL "ia64" OR ${ARCH} STREQUAL "MIPS")
  348. set(USE_GEMM3M 1)
  349. endif ()
  350. if (${CORE} STREQUAL "generic")
  351. set(USE_GEMM3M 0)
  352. endif ()
  353. endif ()
  354. #export OSNAME
  355. #export ARCH
  356. #export CORE
  357. #export LIBCORE
  358. #export PGCPATH
  359. #export CONFIG
  360. #export CC
  361. #export FC
  362. #export BU
  363. #export FU
  364. #export NEED2UNDERSCORES
  365. #export USE_THREAD
  366. #export NUM_THREADS
  367. #export NUM_CORES
  368. #export SMP
  369. #export MAKEFILE_RULE
  370. #export NEED_PIC
  371. #export BINARY
  372. #export BINARY32
  373. #export BINARY64
  374. #export F_COMPILER
  375. #export C_COMPILER
  376. #export USE_OPENMP
  377. #export CROSS
  378. #export CROSS_SUFFIX
  379. #export NOFORTRAN
  380. #export NO_FBLAS
  381. #export EXTRALIB
  382. #export CEXTRALIB
  383. #export FEXTRALIB
  384. #export HAVE_SSE
  385. #export HAVE_SSE2
  386. #export HAVE_SSE3
  387. #export HAVE_SSSE3
  388. #export HAVE_SSE4_1
  389. #export HAVE_SSE4_2
  390. #export HAVE_SSE4A
  391. #export HAVE_SSE5
  392. #export HAVE_AVX
  393. #export HAVE_VFP
  394. #export HAVE_VFPV3
  395. #export HAVE_VFPV4
  396. #export HAVE_NEON
  397. #export KERNELDIR
  398. #export FUNCTION_PROFILE
  399. #export TARGET_CORE
  400. #
  401. #export SGEMM_UNROLL_M
  402. #export SGEMM_UNROLL_N
  403. #export DGEMM_UNROLL_M
  404. #export DGEMM_UNROLL_N
  405. #export QGEMM_UNROLL_M
  406. #export QGEMM_UNROLL_N
  407. #export CGEMM_UNROLL_M
  408. #export CGEMM_UNROLL_N
  409. #export ZGEMM_UNROLL_M
  410. #export ZGEMM_UNROLL_N
  411. #export XGEMM_UNROLL_M
  412. #export XGEMM_UNROLL_N
  413. #export CGEMM3M_UNROLL_M
  414. #export CGEMM3M_UNROLL_N
  415. #export ZGEMM3M_UNROLL_M
  416. #export ZGEMM3M_UNROLL_N
  417. #export XGEMM3M_UNROLL_M
  418. #export XGEMM3M_UNROLL_N
  419. #if (USE_CUDA)
  420. # export CUDADIR
  421. # export CUCC
  422. # export CUFLAGS
  423. # export CULIB
  424. #endif
  425. #.SUFFIXES: .$(PSUFFIX) .$(SUFFIX) .f
  426. #
  427. #.f.$(SUFFIX):
  428. # $(FC) $(FFLAGS) -c $< -o $(@F)
  429. #
  430. #.f.$(PSUFFIX):
  431. # $(FC) $(FPFLAGS) -pg -c $< -o $(@F)
  432. # these are not cross-platform
  433. #ifdef BINARY64
  434. #PATHSCALEPATH = /opt/pathscale/lib/3.1
  435. #PGIPATH = /opt/pgi/linux86-64/7.1-5/lib
  436. #else
  437. #PATHSCALEPATH = /opt/pathscale/lib/3.1/32
  438. #PGIPATH = /opt/pgi/linux86/7.1-5/lib
  439. #endif
  440. #ACMLPATH = /opt/acml/4.3.0
  441. #ifneq ($(OSNAME), Darwin)
  442. #MKLPATH = /opt/intel/mkl/10.2.2.025/lib
  443. #else
  444. #MKLPATH = /Library/Frameworks/Intel_MKL.framework/Versions/10.0.1.014/lib
  445. #endif
  446. #ATLASPATH = /opt/atlas/3.9.17/opteron
  447. #FLAMEPATH = $(HOME)/flame/lib
  448. #ifneq ($(OSNAME), SunOS)
  449. #SUNPATH = /opt/sunstudio12.1
  450. #else
  451. #SUNPATH = /opt/SUNWspro
  452. #endif