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.

Makefile.power 2.5 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. ifdef USE_THREAD
  2. ifeq ($(USE_THREAD), 0)
  3. USE_OPENMP = 0
  4. else
  5. USE_OPENMP = 1
  6. endif
  7. else
  8. USE_OPENMP = 1
  9. endif
  10. ifeq ($(CORE), POWER8)
  11. ifeq ($(USE_OPENMP), 1)
  12. COMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
  13. FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
  14. else
  15. COMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -malign-power -fno-fast-math
  16. FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -malign-power -fno-fast-math
  17. endif
  18. endif
  19. FLAMEPATH = $(HOME)/flame/lib
  20. #ifeq ($(CORE), CELL)
  21. #CELL_SDK_ROOT = /opt/IBM/cell-sdk-1.1/sysroot/usr
  22. #SPU_CC = spu-gcc
  23. #EXTRALIB += -lspe
  24. #endif
  25. ifeq ($(OSNAME), Linux)
  26. ifdef BINARY64
  27. # COMPILER_PREFIX = powerpc64-linux-
  28. else
  29. # COMPILER_PREFIX = powerpc-linux-
  30. endif
  31. endif
  32. ifdef BINARY64
  33. ifeq ($(OSNAME), AIX)
  34. CCOMMON_OPT += -mpowerpc64 -maix64
  35. ifeq ($(COMPILER_F77), g77)
  36. FCOMMON_OPT += -mpowerpc64 -maix64
  37. endif
  38. ifeq ($(COMPILER_F77), xlf)
  39. FCOMMON_OPT += -q64
  40. endif
  41. ARFLAGS = -X 64
  42. ASFLAGS = -a64
  43. endif
  44. else
  45. ifeq ($(OSNAME), AIX)
  46. CCOMMON_OPT += -Wa,-a32
  47. ARFLAGS = -X 32
  48. ASFLAGS = -a32
  49. endif
  50. endif
  51. # CCOMMON_OPT += -maltivec -mabi=altivec
  52. LIBFLAME = -L$(FLAMEPATH) -llapack2flame -lflame-lapack -lflame-base $(LIBS)
  53. ifeq ($(OSNAME), Darwin)
  54. CCOMMON_OPT += -force_cpusubtype_ALL
  55. endif
  56. ifndef BINARY64
  57. ifeq ($(OSNAME), Linux)
  58. ESSLPATH = -L/opt/ibmcmp/lib -L/opt/ibmcmp/xlf/11.1/lib -Wl,-rpath,/opt/ibmcmp/lib -Wl,-rpath,/opt/ibmcmp/xlf/11.1/lib -lxlf90_r -lxlomp_ser -lxlfmath -lxl -lpthread
  59. else
  60. ESSLPATH = -lxlf90_r
  61. endif
  62. LIBVECLIB = -framework VecLib
  63. ifndef SMP
  64. LIBATLAS = -L/usr/lib/atlas3.7.11 -lf77blas -latlas -lg2c -lm
  65. LIBESSL = -lessl $(ESSLPATH) ../../level1/others/libmisc.a -lm
  66. else
  67. LIBATLAS = -L/usr/lib/atlas3.7.11p -lptf77blas -latlas -lm -lpthread
  68. LIBESSL = -lesslsmp $(ESSLPATH) ../../level1/others/libmisc.a -lm
  69. endif
  70. else
  71. ifeq ($(OSNAME), Linux)
  72. ESSLPATH = -L/opt/ibmcmp/lib64 -Wl,-rpath,/opt/ibmcmp/lib64 -L/opt/ibmcmp/xlf/11.1/lib64 -Wl,-rpath,/opt/ibmcmp/xlf/11.1/lib64 -lxlf90_r -lxlomp_ser
  73. else
  74. ESSLPATH = -lxlf90_r
  75. endif
  76. LIBVECLIB = /System/Library/Frameworks/vecLib.framework/Versions/Current/vecLib
  77. ifndef SMP
  78. LIBATLAS = -L/usr/lib64/atlas3.7.11 -lf77blas -latlas -lg2c -lm
  79. LIBESSL = -lessl $(ESSLPATH) -lm
  80. else
  81. LIBATLAS = -L/usr/lib64/atlas3.7.11p -lptf77blas -latlas -lm -lpthread
  82. LIBESSL = -lesslsmp $(ESSLPATH) -lxlsmp -lm
  83. endif
  84. endif