updated on Thu Jan 26 16:09:46 UTC 2012
[aur-mirror.git] / umfpack-fpic / UFconfig.mk
blobe2efccee9578b41cb900af9a5c3cb3e02e44a9b4
1 #===============================================================================
2 # UFconfig.mk: common configuration file for all UF sparse matrix packages
3 #===============================================================================
5 # This file contains all configuration settings for all packages authored or
6 # co-authored by Tim Davis at the University of Florida:
8 # Package Version Description
9 # ------- ------- -----------
10 # AMD 1.2 or later approximate minimum degree ordering
11 # COLAMD 2.4 or later column approximate minimum degree ordering
12 # CCOLAMD 1.0 or later constrained approximate minimum degree ordering
13 # UMFPACK 4.5 or later sparse LU factorization, with the BLAS
14 # CHOLMOD any sparse Cholesky factorization, update/downdate
15 # KLU 1.0 or later sparse LU factorization, BLAS-free
16 # BTF 1.0 or later permutation to block triangular form
17 # LDL 1.2 or later concise sparse LDL'
18 # LPDASA any linear program solve (dual active set algorithm)
20 # The UFconfig directory and the above packages should all appear in a single
21 # directory, in order for the Makefile's within each package to find this file.
23 # To enable an option of the form "# OPTION = ...", edit this file and
24 # delete the "#" in the first column of the option you wish to use.
26 #------------------------------------------------------------------------------
27 # Generic configuration
28 #------------------------------------------------------------------------------
30 # C compiler and compiler flags: These will normally not give you optimal
31 # performance. You should select the optimization parameters that are best
32 # for your system. On Linux, use "CFLAGS = -O3 -fexceptions" for example.
33 CC = cc
34 CFLAGS = -O3 -fPIC
36 # ranlib, and ar, for generating libraries
37 RANLIB = ranlib
38 AR = ar cr
40 # delete and rename a file
41 RM = rm -f
42 MV = mv -f
44 # Fortran compiler (not normally required)
45 F77 = gfortran
46 F77FLAGS = -O3
47 F77LIB =
49 # C and Fortran libraries
50 LIB = -lm
52 # For compiling MATLAB mexFunctions
53 MEX = mex -O
55 # Which version of MAKE you are using (default is "make")
56 # MAKE = make
57 # MAKE = gmake
59 #------------------------------------------------------------------------------
60 # BLAS and LAPACK configuration:
61 #------------------------------------------------------------------------------
63 # UMFPACK and CHOLMOD both require the BLAS. CHOLMOD also requires LAPACK.
64 # See Kazushige Goto's BLAS at http://www.cs.utexas.edu/users/flame/goto/ or
65 # http://www.tacc.utexas.edu/~kgoto/ for the best BLAS to use with CHOLMOD.
66 # LAPACK is at http://www.netlib.org/lapack/ . You can use the standard
67 # Fortran LAPACK along with Goto's BLAS to obtain very good performance.
68 # CHOLMOD gets a peak numeric factorization rate of 3.6 Gflops on a 3.2 GHz
69 # Pentium 4 (512K cache, 4GB main memory) with the Goto BLAS, and 6 Gflops
70 # on a 2.5Ghz dual-core AMD Opteron.
72 # Don't use the Intel MKL BLAS, you may get NaNs! (See
73 # http://www.mathworks.com/support/bugreports/details.html?rp=252103
74 # for more details. I get NaN's on a Pentium 4 with the Intel MKL BLAS).
76 # These settings will probably not work, since there is no fixed convention for
77 # naming the BLAS and LAPACK library (*.a or *.so) files.
78 BLAS = -Lusr/lib -lblas -lgfortran -lgfortranbegin $(XERBLA)
79 LAPACK = -llapack -lgfortran
81 # The BLAS might not contain xerbla, an error-handling routine for LAPACK and
82 # the BLAS. Also, the standard xerbla requires the Fortran I/O library, and
83 # stops the application program if an error occurs. A C version of xerbla
84 # distributed with this software (UFconfig/xerbla/libcerbla.a) includes a
85 # Fortran-callable xerbla routine that prints nothing and does not stop the
86 # application program.
87 #XERBLA = ../../UFconfig/xerbla/libcerbla.a
88 XERBLA =
90 # If you wish to use the XERBLA in LAPACK instead, use this option:
91 # XERBLA =
93 # If you wish to use the Fortran UFconfig/xerbla/xerbla.f instead, use this:
94 # XERBLA = ../../UFconfig/xerbla/libxerbla.a
96 #------------------------------------------------------------------------------
97 # METIS, optionally used by CHOLMOD
98 #------------------------------------------------------------------------------
100 # The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
101 # You may wish to use an absolute path. METIS is optional. Compile
102 # CHOLMOD with -DNPARTITION if you do not wish to use METIS.
103 METIS_PATH = ../../metis-4.0
104 METIS = ../../metis-4.0/libmetis.a
106 # If you use CHOLMOD_CONFIG = -DNPARTITION then use the following options:
107 # METIS_PATH =
108 # METIS =
110 #------------------------------------------------------------------------------
111 # UMFPACK configuration:
112 #------------------------------------------------------------------------------
114 # Configuration flags for UMFPACK. See UMFPACK/Source/umf_config.h for details.
116 # -DNBLAS do not use the BLAS. UMFPACK will be very slow.
117 # -DCBLAS use the C-BLAS interface to the BLAS
118 # -DLP64 UMFPACK is being compiled in 64-bit mode
119 # -DLONGBLAS use "long" integers for the BLAS
120 # -DNSUNPERF do not use the Sun Perf. Library (default is use it on Solaris)
121 # -DNSCSL do not use the SGI SCSL BLAS (default is to use it on SGI)
122 # -DNPOSIX do not use POSIX routines sysconf and times.
123 # -DGETRUSAGE use getrusage
124 # -DNO_TIMER do not use any timing routines
125 # -DNRECIPROCAL do not multiply by the reciprocal
126 # -DNO_DIVIDE_BY_ZERO do not divide by zero
128 UMFPACK_CONFIG =
130 #------------------------------------------------------------------------------
131 # CHOLMOD configuration
132 #------------------------------------------------------------------------------
134 # CHOLMOD Library Modules, which appear in libcholmod.a:
135 # Core requires: none
136 # Check requires: Core
137 # Cholesky requires: Core, AMD, COLAMD. optional: Partition, Supernodal
138 # MatrixOps requires: Core
139 # Modify requires: Core
140 # Partition requires: Core, CCOLAMD, METIS. optional: Cholesky
141 # Supernodal requires: Core, BLAS, LAPACK
143 # CHOLMOD test/demo Modules (all are GNU GPL, do not appear in libcholmod.a):
144 # Tcov requires: Core, Check, Cholesky, MatrixOps, Modify, Supernodal
145 # optional: Partition
146 # Valgrind same as Tcov
147 # Demo requires: Core, Check, Cholesky, MatrixOps, Supernodal
148 # optional: Partition
150 # Configuration flags:
151 # -DNCHECK do not include the Check module. License GNU LGPL
152 # -DNCHOLESKY do not include the Cholesky module. License GNU LGPL
153 # -DNPARTITION do not include the Partition module. License GNU LGPL
154 # -DNGPL do not include any GNU GPL Modules in the CHOLMOD library:
155 # -DNMATRIXOPS do not include the MatrixOps module. License GNU GPL
156 # -DNMODIFY do not include the Modify module. License GNU GPL
157 # -DNSUPERNODAL do not include the Supernodal module. License GNU GPL
159 # -DNPRINT do not print anything.
160 # -D'LONGBLAS=long' or -DLONGBLAS='long long' defines the integers used by
161 # LAPACK and the BLAS (defaults to 'int')
162 # -DNSUNPERF for Solaris only. If defined, do not use the Sun
163 # Performance Library
165 CHOLMOD_CONFIG =
167 #------------------------------------------------------------------------------
168 # Linux
169 #------------------------------------------------------------------------------
171 # Using default compilers:
172 CC = gcc
173 CFLAGS = -O3 -fPIC -fexceptions -m64
175 # alternatives:
176 # CFLAGS = -g -fexceptions \
177 -Wall -W -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
178 -Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi
179 # CFLAGS = -O3 -fexceptions \
180 -Wall -W -Werror -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
181 -Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi
182 # CFLAGS = -g -fexceptions
183 # CFLAGS = -O3
185 # consider:
186 # -fforce-addr -fmove-all-movables -freduce-all-givs -ftsp-ordering
187 # -frename-registers -ffast-math -funroll-loops
189 # Using the Goto BLAS:
190 # BLAS = -lgoto -lfrtbegin -lgfortran $(XERBLA) -lpthread
192 # Using Intel's icc and ifc compilers:
193 # (does not work for mexFunctions unless you add a mexopts.sh file)
194 # F77 = ifc
195 # CC = icc
196 # CFLAGS = -O2 -xN
197 # old (broken): CFLAGS = -ansi -O3 -ip -tpp7 -xW -vec_report0
199 # 64bit:
200 # F77FLAGS = -O -m64
201 # CFLAGS = -O3 -fexceptions -m64
202 # BLAS = -lgfortran -lpthread -Lusr/lib -lf77blas -latlas $(XERBLA)
203 # LAPACK = -llapack64 -lgfortran
206 #------------------------------------------------------------------------------
207 # Solaris
208 #------------------------------------------------------------------------------
210 # 32-bit
211 # CFLAGS = -KPIC -dalign -xc99=%none -Xc -xlibmieee -xO5 -xlibmil
213 # 64-bit
214 # CFLAGS = -KPIC -dalign -xc99=%none -Xc -xlibmieee -xO5 -xlibmil -xarch=v9
216 # BLAS = -xlic_lib=sunperf
217 # LAPACK =
219 #------------------------------------------------------------------------------
220 # Compaq Alpha
221 #------------------------------------------------------------------------------
223 # 64-bit mode only
224 # CFLAGS = -O2 -std1 -DLP64
225 # BLAS = -ldxml
226 # LAPACK =
228 #------------------------------------------------------------------------------
229 # Macintosh (untested)
230 #------------------------------------------------------------------------------
232 # CC = gcc-3.3
233 # CFLAGS = -O3 -fno-common -no-cpp-precomp -fexceptions
234 # LIB = -lstdc++
236 #------------------------------------------------------------------------------
237 # IBM RS 6000
238 #------------------------------------------------------------------------------
240 # BLAS = -lessl
241 # LAPACK =
243 # 32-bit mode:
244 # CFLAGS = -O4 -qipa -qmaxmem=16384 -qproto
245 # F77FLAGS = -O4 -qipa -qmaxmem=16384
247 # 64-bit mode:
248 # CFLAGS = -O4 -qipa -qmaxmem=16384 -q64 -DLP64 -qproto
249 # F77FLAGS = -O4 -qipa -qmaxmem=16384 -q64 -DLP64
250 # AR = ar -X64
252 #------------------------------------------------------------------------------
253 # SGI IRIX
254 #------------------------------------------------------------------------------
256 # BLAS = -lscsl
257 # LAPACK =
259 # 32-bit mode
260 # CFLAGS = -O
262 # 64-bit mode (32 bit int's and 64-bit long's):
263 # CFLAGS = -DLP64 -64
264 # F77FLAGS = -64
266 # SGI doesn't have ranlib
267 # RANLIB = echo
269 #------------------------------------------------------------------------------
270 # remove object files and profile output
271 #------------------------------------------------------------------------------
273 CLEAN = *.o *.obj *.ln *.bb *.bbg *.da *.tcov *.gcov gmon.out *.bak *.d