This is related to #135
[platform/upstream/lapack.git] / SRC / VARIANTS / Makefile
1 include ../../make.inc
2
3 #######################################################################
4 #  This is the makefile to create a the variants libraries for LAPACK.
5 #  The files are organized as follows:
6 #       CHOLRL -- Right looking block version of the algorithm, calling Level 3 BLAS
7 #       CHOLTOP -- Top looking block version of the algorithm, calling Level 3 BLAS
8 #       LUCR -- Crout Level 3 BLAS version of LU factorization
9 #       LULL -- left-looking Level 3 BLAS version of LU factorization
10 #       QRLL -- left-looking Level 3 BLAS version of QR factorization
11 #       LUREC -- an iterative version of Sivan Toledo's recursive LU algorithm[1].
12 #       For square matrices, this iterative versions should
13 #       be within a factor of two of the optimum number of memory transfers.
14 #
15 # [1] Toledo, S. 1997. Locality of Reference in LU Decomposition with
16 #  Partial Pivoting. SIAM J. Matrix Anal. Appl. 18, 4 (Oct. 1997),
17 #  1065-1081. http://dx.doi.org/10.1137/S0895479896297744
18 #######################################################################
19
20 VARIANTSDIR = LIB
21
22 CHOLRL = cholesky/RL/cpotrf.o cholesky/RL/dpotrf.o cholesky/RL/spotrf.o cholesky/RL/zpotrf.o
23
24 CHOLTOP = cholesky/TOP/cpotrf.o cholesky/TOP/dpotrf.o cholesky/TOP/spotrf.o cholesky/TOP/zpotrf.o
25
26 LUCR = lu/CR/cgetrf.o lu/CR/dgetrf.o lu/CR/sgetrf.o lu/CR/zgetrf.o
27
28 LULL = lu/LL/cgetrf.o lu/LL/dgetrf.o lu/LL/sgetrf.o lu/LL/zgetrf.o
29
30 LUREC = lu/REC/cgetrf.o lu/REC/dgetrf.o lu/REC/sgetrf.o lu/REC/zgetrf.o
31
32 QRLL = qr/LL/cgeqrf.o qr/LL/dgeqrf.o qr/LL/sgeqrf.o qr/LL/zgeqrf.o qr/LL/sceil.o
33
34
35 all: cholrl choltop lucr lull lurec qrll
36
37 cholrl: $(CHOLRL)
38         $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/cholrl.a $(CHOLRL)
39         $(RANLIB) $(VARIANTSDIR)/cholrl.a
40
41 choltop: $(CHOLTOP)
42         $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/choltop.a $(CHOLTOP)
43         $(RANLIB) $(VARIANTSDIR)/choltop.a
44
45 lucr: $(LUCR)
46         $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lucr.a $(LUCR)
47         $(RANLIB) $(VARIANTSDIR)/lucr.a
48
49 lull: $(LULL)
50         $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lull.a $(LULL)
51         $(RANLIB) $(VARIANTSDIR)/lull.a
52
53 lurec: $(LUREC)
54         $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lurec.a $(LUREC)
55         $(RANLIB) $(VARIANTSDIR)/lurec.a
56
57 qrll: $(QRLL)
58         $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/qrll.a $(QRLL)
59         $(RANLIB) $(VARIANTSDIR)/qrll.a
60
61
62 .f.o:
63         $(FORTRAN) $(OPTS) -c -o $@ $<
64
65 clean:
66         rm -f $(CHOLRL) $(CHOLTOP) $(LUCR) $(LULL) $(LUREC) $(QRLL) \
67               $(VARIANTSDIR)/*.a