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.x86_64 3.9 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # CCOMMON_OPT += -DFASTCPU
  2. ifeq ($(OSNAME), SunOS)
  3. ifdef BINARY64
  4. ifeq ($(F_COMPILER), SUN)
  5. FCOMMON_OPT += -m64
  6. endif
  7. endif
  8. endif
  9. ifeq ($(CORE), SKYLAKEX)
  10. ifndef DYNAMIC_ARCH
  11. ifndef NO_AVX512
  12. CCOMMON_OPT += -march=skylake-avx512
  13. FCOMMON_OPT += -march=skylake-avx512
  14. ifeq ($(OSNAME), CYGWIN_NT)
  15. CCOMMON_OPT += -fno-asynchronous-unwind-tables
  16. FCOMMON_OPT += -fno-asynchronous-unwind-tables
  17. endif
  18. ifeq ($(OSNAME), WINNT)
  19. ifeq ($(C_COMPILER), GCC)
  20. CCOMMON_OPT += -fno-asynchronous-unwind-tables
  21. FCOMMON_OPT += -fno-asynchronous-unwind-tables
  22. endif
  23. endif
  24. endif
  25. endif
  26. endif
  27. ifeq ($(CORE), HASWELL)
  28. ifndef DYNAMIC_ARCH
  29. ifndef NO_AVX2
  30. ifeq ($(C_COMPILER), GCC)
  31. CCOMMON_OPT += -mavx2
  32. endif
  33. ifeq ($(F_COMPILER), GFORTRAN)
  34. FCOMMON_OPT += -mavx2
  35. endif
  36. endif
  37. endif
  38. endif
  39. ifeq ($(OSNAME), Interix)
  40. ARFLAGS = -m x64
  41. endif
  42. ifeq ($(OSNAME), Darwin)
  43. ifndef SMP
  44. LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lguide -lpthread -lm
  45. else
  46. LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread -lm
  47. endif
  48. else
  49. ifndef SMP
  50. LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lguide -lpthread -lm
  51. else
  52. LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -lguide -lpthread -lm
  53. endif
  54. endif
  55. ifndef SMP
  56. LIBATLAS = -L$(ATLASPATH)64 -llapack -lcblas -lf77blas -latlas -lm
  57. else
  58. LIBATLAS = -L$(ATLASPATH)64 -llapack -lptcblas -lptf77blas -latlas -lpthread -lm
  59. endif
  60. LIBFLAME = -L$(FLAMEPATH) -llapack2flame -lflame $(TOPDIR)/$(LIBNAME) -lgfortran -lpthread -lm
  61. ifeq ($(F_COMPILER), g77)
  62. LIBACML = -L$(ACMLPATH)/gnu64/lib -Wl,-rpath,$(ACMLPATH)/gnu64/lib -lacml -lacml_mv -lg2c -lm
  63. endif
  64. ifeq ($(F_COMPILER), GFORTRAN)
  65. ifndef SMP
  66. LIBACML = -L$(ACMLPATH)/gfortran64/lib -Wl,-rpath,$(ACMLPATH)/gfortran64/lib -lacml -lacml_mv -lgfortran -lm
  67. else
  68. LIBACML = -L$(ACMLPATH)/gfortran64_mp/lib -Wl,-rpath,$(ACMLPATH)/gfortran64_mp/lib -lacml_mp -lacml_mv -lgfortran -lgomp -lm
  69. endif
  70. endif
  71. ifeq ($(F_COMPILER), INTEL)
  72. ifndef SMP
  73. LIBACML = -L$(ACMLPATH)/ifort64/lib -Wl,-rpath,$(ACMLPATH)/ifort64/lib -lacml -lacml_mv -lifcoremt_pic -lirc -lm -lpthread -ldl
  74. else
  75. LIBACML = -L$(ACMLPATH)/ifort64_mp/lib -Wl,-rpath,$(ACMLPATH)/ifort64_mp/lib -lacml_mp -lacml_mv -lifcoremt_pic -liomp5 -lirc -lm -lpthread -ldl
  76. endif
  77. endif
  78. ifeq ($(F_COMPILER), OPEN64)
  79. ifndef SMP
  80. LIBACML = -L$(ACMLPATH)/open64/lib -Wl,-rpath,$(ACMLPATH)/open64/lib -lacml -lacml_mv -lm
  81. else
  82. LIBACML = -L$(ACMLPATH)/open64_mp/lib -Wl,-rpath,$(ACMLPATH)/open64_mp/lib -lacml_mp -lacml_mv -lm -lpthread
  83. endif
  84. endif
  85. ifeq ($(F_COMPILER), pgf77)
  86. ifndef SMP
  87. LIBACML = -L$(ACMLPATH)/pgi64/lib -Wl,-rpath,$(ACMLPATH)/pgi64/lib -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
  88. else
  89. LIBACML = -L$(ACMLPATH)/pgi64_mp/lib -Wl,-rpath,$(ACMLPATH)/pgi64_mp/lib -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
  90. endif
  91. endif
  92. ifeq ($(F_COMPILER), PATHSCALE)
  93. ifndef SMP
  94. LIBACML = -L$(ACMLPATH)/pathscale64/lib -Wl,-rpath,$(ACMLPATH)/pathscale64/lib -lacml -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lpathfortran -lm
  95. else
  96. LIBACML = -L$(ACMLPATH)/pathscale64_mp/lib -Wl,-rpath,$(ACMLPATH)/pathscale64_mp/lib -lacml_mp -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lopenmp -lpathfortran -lm
  97. endif
  98. endif
  99. ifeq ($(F_COMPILER), f90)
  100. LIBACML = -L$(ACMLPATH)/sun64/lib -Wl,-R,$(ACMLPATH)/sun64/lib -L$(SUNPATH)/lib/amd64 -Wl,-R,$(SUNPATH)/lib/amd64 -lacml -lacml_mv -lfsu
  101. endif
  102. LIBSUNPERF = -L$(SUNPATH)/lib/amd64 -L$(SUNPATH)/rtlibs/amd64 -Wl,-R,$(SUNPATH)/lib/amd64 -Wl,-R,$(SUNPATH)/rtlibs/amd64 -lsunperf -lfui -lfsu -lmtsk
  103. LIBVECLIB = /System/Library/Frameworks/vecLib.framework/Versions/Current/vecLib