Commit 2952f3c6608dcdae52e0a3b6173cb4349ffdba02
1 parent
f10a8fbdfd
Exists in
master
Added template for gfortran+openblas
Showing 1 changed file with 295 additions and 0 deletions Inline Diff
Make.inc.gfortran.openblas
| File was created | 1 | |||
| 2 | # IMPORTANT : | |||
| 3 | # Variable BTREE must have been set to the build directory | |||
| 4 | # ( export BTREE=/home/daniau/plpmx/svn/build ) | |||
| 5 | # It is possible to build with the same sources under win32 with PGI Compiler | |||
| 6 | # For Windows : use a cygwin bash shell and set BTREE using cygwin path ex: | |||
| 7 | # export BTREE=/c/dev/build | |||
| 8 | ||||
| 9 | # Location of qmake utility for qt3 and qt4, this is specific to each linux distribution | |||
| 10 | QMAKE3=/usr/lib/qt3/bin/qmake | |||
| 11 | QMAKE4=/usr/bin/qmake | |||
| 12 | ||||
| 13 | # How many thread for Make Qt programs | |||
| 14 | #NBTHREAD=2 | |||
| 15 | ||||
| 16 | ############################################################################### | |||
| 17 | # | |||
| 18 | # Extensions | |||
| 19 | # | |||
| 20 | # This define the extension names for : | |||
| 21 | # + static libraries : libext | |||
| 22 | # + dynamic libraries : soext | |||
| 23 | # + executable : exext | |||
| 24 | # | |||
| 25 | # Uncomment the following according to your platform | |||
| 26 | ||||
| 27 | ||||
| 28 | # Windows | |||
| 29 | #libext=.lib | |||
| 30 | #exext=.exe | |||
| 31 | ||||
| 32 | ||||
| 33 | # Linux | |||
| 34 | # | |||
| 35 | libext=.a | |||
| 36 | soext=.so | |||
| 37 | exext= | |||
| 38 | ||||
| 39 | ############################################################################### | |||
| 40 | # | |||
| 41 | # Dynamic libraries | |||
| 42 | # | |||
| 43 | # Set BUILDSO to y to build dynamic versions of libraries if available | |||
| 44 | # | |||
| 45 | # This has been only tested with gfortran under linux for now | |||
| 46 | ############################################################################### | |||
| 47 | BUILDSO=n | |||
| 48 | ||||
| 49 | ############################################################################### | |||
| 50 | # | |||
| 51 | # OpenMP setup | |||
| 52 | # | |||
| 53 | # The variable OMP contains either nothing, either the compiler switch to | |||
| 54 | # enable OpenMP | |||
| 55 | # | |||
| 56 | # If you want to build a pure serial version leave OMP empty | |||
| 57 | # OMP = | |||
| 58 | # for PGI : | |||
| 59 | # OMP = -mp | |||
| 60 | # for gfortran : | |||
| 61 | # OMP = -fopenmp | |||
| 62 | ############################################################################### | |||
| 63 | OMP = -fopenmp | |||
| 64 | ||||
| 65 | ############################################################################### | |||
| 66 | # | |||
| 67 | # C Compiler Configuration | |||
| 68 | # | |||
| 69 | ############################################################################### | |||
| 70 | # | |||
| 71 | # CC = C compiler | |||
| 72 | # CFLAGS = flags that are used for compiling C files | |||
| 73 | # | |||
| 74 | # Debug setting : | |||
| 75 | # CC = gcc | |||
| 76 | # CFLAGS = -g -fpic -m64 | |||
| 77 | # | |||
| 78 | # Production setting : | |||
| 79 | # CC = gcc | |||
| 80 | # CFLAGS = -O2 -fpic -m64 | |||
| 81 | # | |||
| 82 | # Or for pgcc : | |||
| 83 | # CC = pgcc | |||
| 84 | # CFLAGS = -g -fpic | |||
| 85 | # or CFLAGS = -O2 -fpic | |||
| 86 | ||||
| 87 | # For Compiling under Windows 32bits with PGI add -DPGIW32 to CFLAGS | |||
| 88 | #CC = pgcc | |||
| 89 | #CFLAGS = -O2 -Bstatic -DPGIW32 | |||
| 90 | ||||
| 91 | CC = gcc | |||
| 92 | CFLAGS = -O2 -fpic -m64 | |||
| 93 | ||||
| 94 | ||||
| 95 | ############################################################################### | |||
| 96 | # | |||
| 97 | # Fortran 95 Compiler Configuration | |||
| 98 | # | |||
| 99 | ############################################################################### | |||
| 100 | # | |||
| 101 | # F95 = fortran 95 compiler | |||
| 102 | # F95FLAGS = flags to be used when building objects | |||
| 103 | # | |||
| 104 | # Debug settings | |||
| 105 | # F95 = pgf95 | |||
| 106 | # F95FLAGS = -g -fpic -I$(BTREE)/modules | |||
| 107 | # | |||
| 108 | # Production settings | |||
| 109 | # F95 = pgf95 | |||
| 110 | # F95FLAGS = -fastsse -Mipa=fast -fpic -I$(BTREE)/modules | |||
| 111 | # | |||
| 112 | # Note that .mod files will be put in $(BTREE)/modules by makefiles | |||
| 113 | # this is the reason for -I$(BTREE)/modules | |||
| 114 | # | |||
| 115 | # An other note for portland compiler at least : by default the compiler will use | |||
| 116 | # all possible optimisations for the current processor, so the binaries may or may not | |||
| 117 | # work on another one. For example a binary compiled on an Opteron64 may not work | |||
| 118 | # on an Intel x86_64. If you plan to use your binaries on different platforms, | |||
| 119 | # you should use the -tp option | |||
| 120 | # | |||
| 121 | # -tp k8-64 => produce a binary optimized for AMD Opteron family | |||
| 122 | # -tp p7-64 => produce a binary optimized for Intel x64 processors | |||
| 123 | # -tp x64 => produce an unified binary which will run on both AMD and Intel | |||
| 124 | # no -tp option => produce a binary optimized for the running processor | |||
| 125 | ||||
| 126 | #F95 = pgf95 | |||
| 127 | #F95FLAGS = -g -fpic -I$(BTREE)/modules | |||
| 128 | #F95FLAGS = -fastsse -fpic -I$(BTREE)/modules | |||
| 129 | F95 = gfortran | |||
| 130 | F95FLAGS = -ffree-line-length-none -O2 -fexternal-blas -fpic -I$(BTREE)/modules | |||
| 131 | ||||
| 132 | # For Compiling under Windows 32bits with PGI | |||
| 133 | # Paths for -I must be specified in a windows way (not cygwin way) | |||
| 134 | # that is -I"c:\dev\build\modules" and not -I/c/dev/build/modules | |||
| 135 | #F95 = pgf95 | |||
| 136 | #F95FLAGS = -g -Munix -Bstatic -I"c:\dev\build\modules" | |||
| 137 | ||||
| 138 | # Win32 production setting : | |||
| 139 | #F95FLAGS = -fastsse -Munix -Bstatic -I"c:\dev\build\modules" | |||
| 140 | ||||
| 141 | ############################################################################### | |||
| 142 | # | |||
| 143 | # Linking Configuration | |||
| 144 | # | |||
| 145 | ############################################################################### | |||
| 146 | # | |||
| 147 | # LINK = linker program, usually same as compiler | |||
| 148 | # LINKFLAGS = flags to be used when linking programs | |||
| 149 | # | |||
| 150 | # Debug settings | |||
| 151 | # LINK = pgf95 | |||
| 152 | # LINKFLAGS = -g -L$(BTREE)/lib | |||
| 153 | # | |||
| 154 | # Production settings | |||
| 155 | # LINK = pgf95 | |||
| 156 | # LINKFLAGS = -fastsse -Mipa=fast -L$(BTREE)/lib | |||
| 157 | # | |||
| 158 | # Note that .a files will be put in $(BTREE)/lib by makefiles | |||
| 159 | # this is the reason for -L$(BTREE)/lib | |||
| 160 | #LINK = pgf95 | |||
| 161 | #LINKFLAGS = -g -L$(BTREE)/lib | |||
| 162 | #LINKFLAGS = -fastsse -L$(BTREE)/lib | |||
| 163 | ||||
| 164 | LINK = gfortran | |||
| 165 | LINKFLAGS = -ffree-line-length-none -O2 -L$(BTREE)/lib | |||
| 166 | ||||
| 167 | # For Compiling under Windows 32bits with PGI | |||
| 168 | # Paths for -I must be specified in a windows way (not cygwin way) | |||
| 169 | # that is -L"c:\dev\build\lib" and not -I/c/dev/build/lib | |||
| 170 | #LINK = pgf95 | |||
| 171 | #LINKFLAGS = -g -Munix -Bstatic -L"c:\dev\build\lib" | |||
| 172 | ||||
| 173 | # Win32 production setting : | |||
| 174 | #LINKFLAGS = -fastsse -Munix -Bstatic -L"c:\dev\build\lib" | |||
| 175 | ||||
| 176 | ||||
| 177 | ############################################################################### | |||
| 178 | # | |||
| 179 | # BLAS/LAPACK/ACML Configuration | |||
| 180 | # | |||
| 181 | ############################################################################### | |||
| 182 | # | |||
| 183 | # Location of blas and lapack | |||
| 184 | # | |||
| 185 | # Commercial fortran compilers comes with their own optimized versions of blas | |||
| 186 | # and lapack. If you're running on an AMD processor, you should use acml | |||
| 187 | # http://developer.amd.com/acml.jsp , which is an optimized version of both | |||
| 188 | # blas and lapack (and also some more functionnalities). | |||
| 189 | # | |||
| 190 | # Our Portland Fortran compiler comes with the 3 libraries. As we're running | |||
| 191 | # AMD processors, we use acml. | |||
| 192 | # | |||
| 193 | # EXTERNALLIBPATH may contain a -Ldirectory directive | |||
| 194 | # LAPACK = directive for lapack | |||
| 195 | # BLAS = directive for blas | |||
| 196 | # ACML = directive for acml | |||
| 197 | # | |||
| 198 | # Example 1: | |||
| 199 | # EXTERNALLIBPATH = -L/usr/local/pgi/linux86-64/6.1/lib/ | |||
| 200 | # LAPACK = -llapack | |||
| 201 | # BLAS = -lblas | |||
| 202 | # ACML = | |||
| 203 | # | |||
| 204 | # Example 2: | |||
| 205 | # EXTERNALLIBPATH = | |||
| 206 | # LAPACK = /usr/local/pgi/linux86-64/6.1/lib/liblapack.a | |||
| 207 | # BLAS = /usr/local/pgi/linux86-64/6.1/lib/libblas.a | |||
| 208 | # ACML = | |||
| 209 | # | |||
| 210 | # Example 3: | |||
| 211 | # EXTERNALLIBPATH = -L/usr/local/pgi/linux86-64/6.1/lib/ | |||
| 212 | # LAPACK = | |||
| 213 | # BLAS = | |||
| 214 | # ACML = -lacml | |||
| 215 | # | |||
| 216 | # Example 4: | |||
| 217 | # EXTERNALLIBPATH = | |||
| 218 | # LAPACK = | |||
| 219 | # BLAS = | |||
| 220 | # ACML = /usr/local/pgi/linux86-64/6.1/lib/libacml.a | |||
| 221 | # | |||
| 222 | # Simple rule is that if you set ACML then leave BLAS and LAPACK empty. | |||
| 223 | # | |||
| 224 | # | |||
| 225 | ||||
| 226 | #EXTERNALLIBPATH = | |||
| 227 | #LAPACK = | |||
| 228 | #BLAS = | |||
| 229 | #ACML = /usr/local/pgi/linux86-64/7.0/lib/libacml.a | |||
| 230 | ||||
| 231 | # With gfortran and reference implementation | |||
| 232 | #EXTERNALLIBPATH = | |||
| 233 | #LAPACK = $(BTREE)/lib/lapack_LINUX.a | |||
| 234 | #BLAS = $(BTREE)/lib/blas_LINUX.a /usr/lib64/libgfortran.so.2 | |||
| 235 | #ACML = | |||
| 236 | ||||
| 237 | # With gfortran and acml | |||
| 238 | #EXTERNALLIBPATH = | |||
| 239 | #LAPACK = | |||
| 240 | #BLAS = | |||
| 241 | #ACML = /usr/local/acml4.1.0/gfortran64/lib/libacml.a /usr/lib64/libgfortran.so.2 | |||
| 242 | ||||
| 243 | # With atlas compiled with gfortran and gcc | |||
| 244 | # EXTERNALLIBPATH = | |||
| 245 | # LAPACK = $(BTREE)/lib/liblapack.a | |||
| 246 | # BLAS = $(BTREE)/lib/libf77blas.a $(BTREE)/lib/libcblas.a $(BTREE)/lib/libatlas.a | |||
| 247 | # ACML = | |||
| 248 | ||||
| 249 | # With dynamic versions of atlas compiled with gfortran and gcc | |||
| 250 | #EXTERNALLIBPATH = | |||
| 251 | #LAPACK = $(BTREE)/lib/liblapack.so | |||
| 252 | #BLAS = $(BTREE)/lib/libf77blas.so $(BTREE)/lib/libcblas.so $(BTREE)/lib/libatlas.so | |||
| 253 | #ACML = | |||
| 254 | ||||
| 255 | # With dynamic version of openblas | |||
| 256 | EXTERNALLIBPATH = | |||
| 257 | LAPACK = | |||
| 258 | BLAS = |