1 # CCOMMON_OPT += -DFASTCPU
3 ifeq ($(OSNAME), SunOS)
5 ifeq ($(F_COMPILER), SUN)
16 CCOMMON_OPT += -mssse3
17 FCOMMON_OPT += -mssse3
20 CCOMMON_OPT += -msse4.1
21 FCOMMON_OPT += -msse4.1
42 ifeq ($(CORE), SKYLAKEX)
45 CCOMMON_OPT += -march=skylake-avx512
46 FCOMMON_OPT += -march=skylake-avx512
47 ifeq ($(OSNAME), CYGWIN_NT)
48 CCOMMON_OPT += -fno-asynchronous-unwind-tables
49 FCOMMON_OPT += -fno-asynchronous-unwind-tables
51 ifeq ($(OSNAME), WINNT)
52 ifeq ($(C_COMPILER), GCC)
53 CCOMMON_OPT += -fno-asynchronous-unwind-tables
54 FCOMMON_OPT += -fno-asynchronous-unwind-tables
61 ifeq ($(CORE), COOPERLAKE)
64 ifeq ($(C_COMPILER), GCC)
65 # cooperlake support was added in 10.1
66 ifeq ($(GCCVERSIONGTEQ10)$(GCCMINORVERSIONGTEQ1), 11)
67 CCOMMON_OPT += -march=cooperlake
68 FCOMMON_OPT += -march=cooperlake
71 ifeq ($(OSNAME), CYGWIN_NT)
72 CCOMMON_OPT += -fno-asynchronous-unwind-tables
73 FCOMMON_OPT += -fno-asynchronous-unwind-tables
75 ifeq ($(OSNAME), WINNT)
76 ifeq ($(C_COMPILER), GCC)
77 CCOMMON_OPT += -fno-asynchronous-unwind-tables
78 FCOMMON_OPT += -fno-asynchronous-unwind-tables
87 ifeq ($(C_COMPILER), GCC)
88 # AVX2 support was added in 4.7.0
89 GCCVERSIONCHECK := $(GCCVERSIONGT4)$(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ7)
90 ifeq ($(GCCVERSIONCHECK), $(filter $(GCCVERSIONCHECK), 011 110 111))
94 ifeq ($(C_COMPILER), CLANG)
98 ifeq ($(F_COMPILER), GFORTRAN)
99 # AVX2 support was added in 4.7.0
100 GCCVERSIONGTEQ4 := $(shell expr `$(FC) -dumpversion | cut -f1 -d.` \>= 4)
101 GCCVERSIONGTEQ5 := $(shell expr `$(FC) -dumpversion | cut -f1 -d.` \>= 5)
102 GCCMINORVERSIONGTEQ7 := $(shell expr `$(FC) -dumpversion | cut -f2 -d.` \>= 7)
103 GCCVERSIONCHECK := $(GCCVERSIONGTEQ5)$(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ7)
104 ifeq ($(GCCVERSIONCHECK), $(filter $(GCCVERSIONCHECK), 011 110 111))
105 FCOMMON_OPT += -mavx2
108 ifeq ($(F_COMPILER), FLANG)
109 FCOMMON_OPT += -mavx2
117 ifeq ($(OSNAME), Interix)
121 ifeq ($(OSNAME), Darwin)
123 LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lguide -lpthread -lm
125 LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread -lm
129 LIBMKL = -L$(MKLPATH)/em64t -Wl,-rpath,$(MKLPATH)/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lguide -lpthread -lm
131 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
137 LIBATLAS = -L$(ATLASPATH)64 -llapack -lcblas -lf77blas -latlas -lm
139 LIBATLAS = -L$(ATLASPATH)64 -llapack -lptcblas -lptf77blas -latlas -lpthread -lm
142 LIBFLAME = -L$(FLAMEPATH) -llapack2flame -lflame $(TOPDIR)/$(LIBNAME) -lgfortran -lpthread -lm
145 ifeq ($(F_COMPILER), g77)
146 LIBACML = -L$(ACMLPATH)/gnu64/lib -Wl,-rpath,$(ACMLPATH)/gnu64/lib -lacml -lacml_mv -lg2c -lm
149 ifeq ($(F_COMPILER), GFORTRAN)
151 LIBACML = -L$(ACMLPATH)/gfortran64/lib -Wl,-rpath,$(ACMLPATH)/gfortran64/lib -lacml -lacml_mv -lgfortran -lm
153 LIBACML = -L$(ACMLPATH)/gfortran64_mp/lib -Wl,-rpath,$(ACMLPATH)/gfortran64_mp/lib -lacml_mp -lacml_mv -lgfortran -lgomp -lm
157 ifeq ($(F_COMPILER), INTEL)
159 LIBACML = -L$(ACMLPATH)/ifort64/lib -Wl,-rpath,$(ACMLPATH)/ifort64/lib -lacml -lacml_mv -lifcoremt_pic -lirc -lm -lpthread -ldl
161 LIBACML = -L$(ACMLPATH)/ifort64_mp/lib -Wl,-rpath,$(ACMLPATH)/ifort64_mp/lib -lacml_mp -lacml_mv -lifcoremt_pic -liomp5 -lirc -lm -lpthread -ldl
165 ifeq ($(F_COMPILER), OPEN64)
167 LIBACML = -L$(ACMLPATH)/open64/lib -Wl,-rpath,$(ACMLPATH)/open64/lib -lacml -lacml_mv -lm
169 LIBACML = -L$(ACMLPATH)/open64_mp/lib -Wl,-rpath,$(ACMLPATH)/open64_mp/lib -lacml_mp -lacml_mv -lm -lpthread
173 ifeq ($(F_COMPILER), pgf77)
175 LIBACML = -L$(ACMLPATH)/pgi64/lib -Wl,-rpath,$(ACMLPATH)/pgi64/lib -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
177 LIBACML = -L$(ACMLPATH)/pgi64_mp/lib -Wl,-rpath,$(ACMLPATH)/pgi64_mp/lib -lacml -lacml_mv -L$(PGIPATH) -Wl,-rpath,$(PGIPATH) -lpgftnrtl -lnspgc -lpgmp -lpgc
181 ifeq ($(F_COMPILER), PATHSCALE)
183 LIBACML = -L$(ACMLPATH)/pathscale64/lib -Wl,-rpath,$(ACMLPATH)/pathscale64/lib -lacml -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lpathfortran -lm
185 LIBACML = -L$(ACMLPATH)/pathscale64_mp/lib -Wl,-rpath,$(ACMLPATH)/pathscale64_mp/lib -lacml_mp -lacml_mv -Wl,-rpath,$(PATHSCALEPATH) -L$(PATHSCALEPATH) -lopenmp -lpathfortran -lm
189 ifeq ($(F_COMPILER), f90)
190 LIBACML = -L$(ACMLPATH)/sun64/lib -Wl,-R,$(ACMLPATH)/sun64/lib -L$(SUNPATH)/lib/amd64 -Wl,-R,$(SUNPATH)/lib/amd64 -lacml -lacml_mv -lfsu
193 LIBSUNPERF = -L$(SUNPATH)/lib/amd64 -L$(SUNPATH)/rtlibs/amd64 -Wl,-R,$(SUNPATH)/lib/amd64 -Wl,-R,$(SUNPATH)/rtlibs/amd64 -lsunperf -lfui -lfsu -lmtsk
195 LIBVECLIB = /System/Library/Frameworks/vecLib.framework/Versions/Current/vecLib