1 # CCOMMON_OPT += -DFASTCPU
3 ifeq ($(OSNAME), SunOS)
5 ifeq ($(F_COMPILER), SUN)
23 ifneq ($(F_COMPILER), NAG)
28 CCOMMON_OPT += -mssse3
29 ifneq ($(F_COMPILER), NAG)
30 FCOMMON_OPT += -mssse3
34 CCOMMON_OPT += -msse4.1
35 ifneq ($(F_COMPILER), NAG)
36 FCOMMON_OPT += -msse4.1
42 ifneq ($(F_COMPILER), NAG)
50 ifneq ($(F_COMPILER), NAG)
56 ifeq ($(CORE), SKYLAKEX)
58 CCOMMON_OPT += -march=skylake-avx512
59 ifneq ($(F_COMPILER), NAG)
60 FCOMMON_OPT += -march=skylake-avx512
62 ifeq ($(OSNAME), CYGWIN_NT)
63 CCOMMON_OPT += -fno-asynchronous-unwind-tables
64 FCOMMON_OPT += -fno-asynchronous-unwind-tables
66 ifeq ($(OSNAME), WINNT)
67 ifeq ($(C_COMPILER), GCC)
68 CCOMMON_OPT += -fno-asynchronous-unwind-tables
69 FCOMMON_OPT += -fno-asynchronous-unwind-tables
75 ifeq ($(CORE), COOPERLAKE)
77 ifeq ($(C_COMPILER), GCC)
78 # cooperlake support was added in 10.1
79 ifeq ($(GCCVERSIONGTEQ10)$(GCCMINORVERSIONGTEQ1), 11)
80 CCOMMON_OPT += -march=cooperlake
81 ifneq ($(F_COMPILER), NAG)
82 FCOMMON_OPT += -march=cooperlake
86 ifeq ($(OSNAME), CYGWIN_NT)
87 CCOMMON_OPT += -fno-asynchronous-unwind-tables
88 FCOMMON_OPT += -fno-asynchronous-unwind-tables
90 ifeq ($(OSNAME), WINNT)
91 ifeq ($(C_COMPILER), GCC)
92 CCOMMON_OPT += -fno-asynchronous-unwind-tables
93 FCOMMON_OPT += -fno-asynchronous-unwind-tables
101 ifeq ($(C_COMPILER), GCC)
102 # AVX2 support was added in 4.7.0
103 GCCVERSIONCHECK := $(GCCVERSIONGT4)$(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ7)
104 ifeq ($(GCCVERSIONCHECK), $(filter $(GCCVERSIONCHECK), 011 110 111))
105 CCOMMON_OPT += -mavx2
108 ifeq ($(C_COMPILER), CLANG)
109 CCOMMON_OPT += -mavx2
112 ifeq ($(F_COMPILER), GFORTRAN)
113 # AVX2 support was added in 4.7.0
114 GCCVERSIONGTEQ4 := $(shell expr `$(FC) -dumpversion | cut -f1 -d.` \>= 4)
115 GCCVERSIONGTEQ5 := $(shell expr `$(FC) -dumpversion | cut -f1 -d.` \>= 5)
116 GCCMINORVERSIONGTEQ7 := $(shell expr `$(FC) -dumpversion | cut -f2 -d.` \>= 7)
117 GCCVERSIONCHECK := $(GCCVERSIONGTEQ5)$(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ7)
118 ifeq ($(GCCVERSIONCHECK), $(filter $(GCCVERSIONCHECK), 011 110 111))
119 FCOMMON_OPT += -mavx2
122 ifeq ($(F_COMPILER), FLANG)
123 FCOMMON_OPT += -mavx2
132 ifeq ($(OSNAME), Interix)
136 ifeq ($(OSNAME), Darwin)
138 LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lguide -lpthread -lm
140 LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread -lm
144 LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lguide -lpthread -lm
146 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
152 LIBATLAS = -L$(ATLASPATH)64 -llapack -lcblas -lf77blas -latlas -lm
154 LIBATLAS = -L$(ATLASPATH)64 -llapack -lptcblas -lptf77blas -latlas -lpthread -lm
157 LIBFLAME = -L$(FLAMEPATH) -llapack2flame -lflame $(TOPDIR)/$(LIBNAME) -lgfortran -lpthread -lm
160 ifeq ($(F_COMPILER), g77)
161 LIBACML = -L$(ACMLPATH)/gnu64/lib -Wl,-rpath,$(ACMLPATH)/gnu64/lib -lacml -lacml_mv -lg2c -lm
164 ifeq ($(F_COMPILER), GFORTRAN)
166 LIBACML = -L$(ACMLPATH)/gfortran64/lib -Wl,-rpath,$(ACMLPATH)/gfortran64/lib -lacml -lacml_mv -lgfortran -lm
168 LIBACML = -L$(ACMLPATH)/gfortran64_mp/lib -Wl,-rpath,$(ACMLPATH)/gfortran64_mp/lib -lacml_mp -lacml_mv -lgfortran -lgomp -lm
172 ifeq ($(F_COMPILER), INTEL)
174 LIBACML = -L$(ACMLPATH)/ifort64/lib -Wl,-rpath,$(ACMLPATH)/ifort64/lib -lacml -lacml_mv -lifcoremt_pic -lirc -lm -lpthread -ldl
176 LIBACML = -L$(ACMLPATH)/ifort64_mp/lib -Wl,-rpath,$(ACMLPATH)/ifort64_mp/lib -lacml_mp -lacml_mv -lifcoremt_pic -liomp5 -lirc -lm -lpthread -ldl
180 ifeq ($(F_COMPILER), OPEN64)
182 LIBACML = -L$(ACMLPATH)/open64/lib -Wl,-rpath,$(ACMLPATH)/open64/lib -lacml -lacml_mv -lm
184 LIBACML = -L$(ACMLPATH)/open64_mp/lib -Wl,-rpath,$(ACMLPATH)/open64_mp/lib -lacml_mp -lacml_mv -lm -lpthread
188 ifeq ($(F_COMPILER), pgf77)
190 LIBACML = -L$(ACMLPATH)/pgi64/lib -Wl,-rpath,$(ACMLPATH)/pgi64/lib -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
192 LIBACML = -L$(ACMLPATH)/pgi64_mp/lib -Wl,-rpath,$(ACMLPATH)/pgi64_mp/lib -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
196 ifeq ($(F_COMPILER), PATHSCALE)
198 LIBACML = -L$(ACMLPATH)/pathscale64/lib -Wl,-rpath,$(ACMLPATH)/pathscale64/lib -lacml -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lpathfortran -lm
200 LIBACML = -L$(ACMLPATH)/pathscale64_mp/lib -Wl,-rpath,$(ACMLPATH)/pathscale64_mp/lib -lacml_mp -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lopenmp -lpathfortran -lm
204 ifeq ($(F_COMPILER), f90)
205 LIBACML = -L$(ACMLPATH)/sun64/lib -Wl,-R,$(ACMLPATH)/sun64/lib -L$(SUNPATH)/lib/amd64 -Wl,-R,$(SUNPATH)/lib/amd64 -lacml -lacml_mv -lfsu
208 LIBSUNPERF = -L$(SUNPATH)/lib/amd64 -L$(SUNPATH)/rtlibs/amd64 -Wl,-R,$(SUNPATH)/lib/amd64 -Wl,-R,$(SUNPATH)/rtlibs/amd64 -lsunperf -lfui -lfsu -lmtsk
210 LIBVECLIB = /System/Library/Frameworks/vecLib.framework/Versions/Current/vecLib