Makefile 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. TOPDIR=../..
  2. include $(TOPDIR)/make.inc
  3. #######################################################################
  4. # This is the makefile to create a library for the BLAS.
  5. # The files are grouped as follows:
  6. #
  7. # SBLAS1 -- Single precision real BLAS routines
  8. # CBLAS1 -- Single precision complex BLAS routines
  9. # DBLAS1 -- Double precision real BLAS routines
  10. # ZBLAS1 -- Double precision complex BLAS routines
  11. #
  12. # CB1AUX -- Real BLAS routines called by complex routines
  13. # ZB1AUX -- D.P. real BLAS routines called by d.p. complex
  14. # routines
  15. #
  16. # ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS
  17. #
  18. # SBLAS2 -- Single precision real BLAS2 routines
  19. # CBLAS2 -- Single precision complex BLAS2 routines
  20. # DBLAS2 -- Double precision real BLAS2 routines
  21. # ZBLAS2 -- Double precision complex BLAS2 routines
  22. #
  23. # SBLAS3 -- Single precision real BLAS3 routines
  24. # CBLAS3 -- Single precision complex BLAS3 routines
  25. # DBLAS3 -- Double precision real BLAS3 routines
  26. # ZBLAS3 -- Double precision complex BLAS3 routines
  27. #
  28. # The library can be set up to include routines for any combination
  29. # of the four precisions. To create or add to the library, enter make
  30. # followed by one or more of the precisions desired. Some examples:
  31. # make single
  32. # make single complex
  33. # make single double complex complex16
  34. # Note that these commands are not safe for parallel builds.
  35. #
  36. # Alternatively, the commands
  37. # make all
  38. # or
  39. # make
  40. # without any arguments creates a library of all four precisions.
  41. # The name of the library is held in BLASLIB, which is set in the
  42. # top-level make.inc
  43. #
  44. # To remove the object files after the library is created, enter
  45. # make clean
  46. # To force the source files to be recompiled, enter, for example,
  47. # make single FRC=FRC
  48. #
  49. #---------------------------------------------------------------------
  50. #
  51. # Edward Anderson, University of Tennessee
  52. # March 26, 1990
  53. # Susan Ostrouchov, Last updated September 30, 1994
  54. # ejr, May 2006.
  55. #
  56. #######################################################################
  57. all: $(BLASLIB)
  58. #---------------------------------------------------------
  59. # Comment out the next 6 definitions if you already have
  60. # the Level 1 BLAS.
  61. #---------------------------------------------------------
  62. DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \
  63. drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o
  64. $(DBLAS1): $(FRC)
  65. #---------------------------------------------------------------------
  66. # The following line defines auxiliary routines needed by both the
  67. # Level 2 and Level 3 BLAS. Comment it out only if you already have
  68. # both the Level 2 and 3 BLAS.
  69. #---------------------------------------------------------------------
  70. ALLBLAS = lsame.o xerbla.o xerbla_array.o
  71. $(ALLBLAS) : $(FRC)
  72. #---------------------------------------------------------
  73. # Comment out the next 4 definitions if you already have
  74. # the Level 2 BLAS.
  75. #---------------------------------------------------------
  76. DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \
  77. dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \
  78. dger.o dsyr.o dspr.o dsyr2.o dspr2.o
  79. $(DBLAS2): $(FRC)
  80. #---------------------------------------------------------
  81. # Comment out the next 4 definitions if you already have
  82. # the Level 3 BLAS.
  83. #---------------------------------------------------------
  84. DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o
  85. $(DBLAS3): $(FRC)
  86. ALLOBJ= $(DBLAS1) $(DBLAS2) $(DBLAS3) $(ALLBLAS)
  87. $(BLASLIB): $(ALLOBJ)
  88. $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
  89. $(RANLIB) $@
  90. double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3)
  91. $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \
  92. $(DBLAS2) $(DBLAS3)
  93. $(RANLIB) $(BLASLIB)
  94. FRC:
  95. @FRC=$(FRC)
  96. clean:
  97. rm -f *.o
  98. .c.o:
  99. $(CC) $(CFLAGS) -c $< -o $@