Makefile 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. TOPDIR=../..
  2. include $(TOPDIR)/make.inc
  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. VARIANTSDIR=LIB
  20. CHOLRL = cholesky/RL/cpotrf.o cholesky/RL/dpotrf.o cholesky/RL/spotrf.o cholesky/RL/zpotrf.o
  21. CHOLTOP = cholesky/TOP/cpotrf.o cholesky/TOP/dpotrf.o cholesky/TOP/spotrf.o cholesky/TOP/zpotrf.o
  22. LUCR = lu/CR/cgetrf.o lu/CR/dgetrf.o lu/CR/sgetrf.o lu/CR/zgetrf.o
  23. LULL = lu/LL/cgetrf.o lu/LL/dgetrf.o lu/LL/sgetrf.o lu/LL/zgetrf.o
  24. LUREC = lu/REC/cgetrf.o lu/REC/dgetrf.o lu/REC/sgetrf.o lu/REC/zgetrf.o
  25. QRLL = qr/LL/cgeqrf.o qr/LL/dgeqrf.o qr/LL/sgeqrf.o qr/LL/zgeqrf.o qr/LL/sceil.o
  26. all: cholrl choltop lucr lull lurec qrll
  27. cholrl: $(CHOLRL)
  28. $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/cholrl.a $(CHOLRL)
  29. $(RANLIB) $(VARIANTSDIR)/cholrl.a
  30. choltop: $(CHOLTOP)
  31. $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/choltop.a $(CHOLTOP)
  32. $(RANLIB) $(VARIANTSDIR)/choltop.a
  33. lucr: $(LUCR)
  34. $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lucr.a $(LUCR)
  35. $(RANLIB) $(VARIANTSDIR)/lucr.a
  36. lull: $(LULL)
  37. $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lull.a $(LULL)
  38. $(RANLIB) $(VARIANTSDIR)/lull.a
  39. lurec: $(LUREC)
  40. $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lurec.a $(LUREC)
  41. $(RANLIB) $(VARIANTSDIR)/lurec.a
  42. qrll: $(QRLL)
  43. $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/qrll.a $(QRLL)
  44. $(RANLIB) $(VARIANTSDIR)/qrll.a
  45. .c.o:
  46. $(CC) $(CFLAGS) -c $< -o $@
  47. clean:
  48. rm -f $(CHOLRL) $(CHOLTOP) $(LUCR) $(LULL) $(LUREC) $(QRLL) \
  49. $(VARIANTSDIR)/*.a