File: make.inc

package info (click to toggle)
elkcode 10.4.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,480 kB
  • sloc: f90: 52,323; perl: 962; makefile: 345; sh: 296; python: 105; ansic: 67
file content (129 lines) | stat: -rw-r--r-- 5,653 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129

MAKE = make
AR = ar


# Elk requires BLAS/LAPACK and fast Fourier transform (FFT) libraries.

# We recommend using optimised, mutithreaded BLAS/LAPACK libaries such as those
# provided by the Intel Math Kernel Library (MKL), OpenBLAS or BLIS.

# Elk can use either the Fastest Fourier Transform in the West (FFTW) or the
# MKL FFT. Both single and double precision versions of the FFT are needed.


#------------------------------------------------------------------------------#
#                                  Libraries                                   #
#------------------------------------------------------------------------------#

#-------------------------------------------------------------------------------
SRC_MKL = mkl_stub.f90
# To enable MKL multithreaded parallelism, uncomment the following line and link
# with the MKL library.
#SRC_MKL =
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
# If your compiler does *not* support the Message Passing Interface (MPI) then
# uncomment the line below.
#SRC_MPI = mpi_stub.f90
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
# Elk supports two FFT libraries:
#   Fastest Fourier Transform in the West (FFTW)
#   Intel Math Kernel Library (MKL) Fast Fourier Transform
#
# FFTW is enabled by default with:
SRC_FFT = zfftifc_fftw.f90 cfftifc_fftw.f90
#
# To enable MKL FFT instead, copy mkl_dfti.f90 to the elk/src directory and
# uncomment the line below.
#SRC_FFT = mkl_dfti.f90 zfftifc_mkl.f90 cfftifc_mkl.f90
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
SRC_LIBXC = libxcifc_stub.f90
# To enable Libxc first download and compile version 6.x of the library. Next
# copy the files libxcf03.a and libxc.a to the elk/src directory and uncomment
# the following lines.
LIB_LIBXC = `pkg-config --cflags --libs libxc` -lxcf03
SRC_LIBXC = libxcifc.f90
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
SRC_W90S = w90_stub.f90
# To enable the Wannier90 library copy libwannier.a to the elk/src directory and
# uncomment the following lines.
SRC_W90S =
LIB_W90 = -lwannier
#-------------------------------------------------------------------------------



#------------------------------------------------------------------------------#
#                                  Compilers                                   #
#------------------------------------------------------------------------------#

#-------------------------------------------------------------------------------
# Intel Fortran LLVM-based compiler (ifx).
#F90 = mpiifx
#F90_OPTS = -O3 -xHost -ipo -qopenmp -qmkl=parallel
#F90_LIB = -liomp5 -lpthread -lm -ldl
#SRC_MKL =
#AR = xiar
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
# Intel Fortran compiler classic (ifort) version 18 and later.
#F90 = mpiifort
#F90_OPTS = -O3 -xHost -ipo -qopenmp -mkl=parallel
#F90_LIB = -liomp5 -lpthread -lm -ldl
#SRC_MKL =
#AR = xiar
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
# GNU Fortran compiler with MKL.
#F90 = mpif90
#F90_OPTS = -Ofast -march=native -mtune=native -fopenmp -ffpe-summary=none -Wno-lto-type-mismatch
#F90_LIB = -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lpthread
#SRC_MKL =
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
# GNU Fortran compiler with BLIS, libflame and FFTW.
#F90 = mpif90
#F90_OPTS = -Ofast -march=native -mtune=native -fopenmp -ffpe-summary=none -Wno-lto-type-mismatch
#F90_LIB = -lblis -lflame -lfftw3 -lfftw3f
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
# GNU Fortran compiler with BLAS, LAPACK and FFTW.
F90 = mpif90
F90_OPTS :=
F90_OPTS += `dpkg-buildflags --get FFLAGS`
F90_OPTS += `dpkg-buildflags --get CPPFLAGS`
F90_OPTS += -I/usr/include -Wall -ffast-math -funroll-loops -fopenmp -fallow-argument-mismatch
F90_OPTS += `dpkg-buildflags --get LDFLAGS`
F90_LIB = -lblas -llapack `pkg-config --libs fftw3` `pkg-config --libs fftw3f`
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
# Intel Fortran with debugging and profiling options.
#F90 = mpiifort
#F90_OPTS = -O3 -qopenmp -mkl=parallel -pg -xHost -init=snan,arrays -warn unused
#F90_LIB = -liomp5 -lpthread -lm -ldl
#SRC_MKL =
#AR = ar
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
# GNU Fortran debugging and profiling options.
#F90 = gfortran
#F90_OPTS = -O3 -Wall -Wunused -Warray-temporaries -Waliasing -Wintrinsics-std -Wtabs -Wfunction-elimination -Wrealloc-lhs-all -fopenmp -fbounds-check -pg
#F90_LIB = -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lpthread
#SRC_MKL =
#SRC_MPI = mpi_stub.f90
#-------------------------------------------------------------------------------