67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
include ../../make.inc
 | 
						|
 | 
						|
#######################################################################
 | 
						|
#  This is the makefile to create a the variants libraries for LAPACK.
 | 
						|
#  The files are organized as follows:
 | 
						|
#       CHOLRL -- Right looking block version of the algorithm, calling Level 3 BLAS
 | 
						|
#       CHOLTOP -- Top looking block version of the algorithm, calling Level 3 BLAS
 | 
						|
#       LUCR -- Crout Level 3 BLAS version of LU factorization
 | 
						|
#       LULL -- left-looking Level 3 BLAS version of LU factorization
 | 
						|
#       QRLL -- left-looking Level 3 BLAS version of QR factorization
 | 
						|
#       LUREC -- an iterative version of Sivan Toledo's recursive LU algorithm[1].  
 | 
						|
#       For square matrices, this iterative versions should
 | 
						|
#       be within a factor of two of the optimum number of memory transfers.
 | 
						|
#
 | 
						|
# [1] Toledo, S. 1997. Locality of Reference in LU Decomposition with
 | 
						|
#  Partial Pivoting. SIAM J. Matrix Anal. Appl. 18, 4 (Oct. 1997),
 | 
						|
#  1065-1081. http://dx.doi.org/10.1137/S0895479896297744
 | 
						|
#######################################################################
 | 
						|
 | 
						|
VARIANTSDIR=LIB
 | 
						|
 | 
						|
CHOLRL = cholesky/RL/cpotrf.o cholesky/RL/dpotrf.o cholesky/RL/spotrf.o cholesky/RL/zpotrf.o
 | 
						|
 | 
						|
CHOLTOP = cholesky/TOP/cpotrf.o cholesky/TOP/dpotrf.o cholesky/TOP/spotrf.o cholesky/TOP/zpotrf.o
 | 
						|
 | 
						|
LUCR = lu/CR/cgetrf.o lu/CR/dgetrf.o lu/CR/sgetrf.o lu/CR/zgetrf.o
 | 
						|
 | 
						|
LULL = lu/LL/cgetrf.o lu/LL/dgetrf.o lu/LL/sgetrf.o lu/LL/zgetrf.o
 | 
						|
 | 
						|
LUREC = lu/REC/cgetrf.o lu/REC/dgetrf.o lu/REC/sgetrf.o lu/REC/zgetrf.o
 | 
						|
 | 
						|
QRLL = qr/LL/cgeqrf.o qr/LL/dgeqrf.o qr/LL/sgeqrf.o qr/LL/zgeqrf.o  qr/LL/sceil.o
 | 
						|
 | 
						|
 | 
						|
all: cholrl choltop lucr lull lurec qrll
 | 
						|
 | 
						|
cholrl: $(CHOLRL)
 | 
						|
	$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/cholrl.a $(CHOLRL)
 | 
						|
	$(RANLIB) $(VARIANTSDIR)/cholrl.a
 | 
						|
 | 
						|
choltop: $(CHOLTOP)
 | 
						|
	$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/choltop.a $(CHOLTOP)
 | 
						|
	$(RANLIB) $(VARIANTSDIR)/choltop.a
 | 
						|
 | 
						|
lucr: $(LUCR)
 | 
						|
	$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lucr.a $(LUCR)
 | 
						|
	$(RANLIB) $(VARIANTSDIR)/lucr.a
 | 
						|
 | 
						|
lull: $(LULL)
 | 
						|
	$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lull.a $(LULL)
 | 
						|
	$(RANLIB) $(VARIANTSDIR)/lull.a
 | 
						|
 | 
						|
lurec: $(LUREC)
 | 
						|
	$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lurec.a $(LUREC)
 | 
						|
	$(RANLIB) $(VARIANTSDIR)/lurec.a
 | 
						|
	
 | 
						|
qrll: $(QRLL)
 | 
						|
	$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/qrll.a  $(QRLL)
 | 
						|
	$(RANLIB) $(VARIANTSDIR)/qrll.a
 | 
						|
 | 
						|
 | 
						|
.f.o: 
 | 
						|
	$(FORTRAN) $(OPTS) -c $< -o $@
 | 
						|
	
 | 
						|
clean:
 | 
						|
	rm -f $(CHOLRL) $(CHOLTOP) $(LUCR) $(LULL) $(LUREC) $(QRLL) \
 | 
						|
	      $(VARIANTSDIR)/*.a
 |