You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile 6.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. # This Makefile compiles the CBLAS routines
  2. #
  3. include ../../make.inc
  4. #
  5. # Erase all object and archive files
  6. #
  7. all: cblaslib
  8. clean:
  9. rm -f *.o a.out core
  10. # Error handling routines for level 2 & 3
  11. errhand = cblas_globals.o cblas_xerbla.o xerbla.o
  12. # Object files of all routines
  13. alev = $(alev1) $(alev2) $(alev3) $(errhand)
  14. #
  15. #
  16. # CBLAS routines
  17. #
  18. # Level 1
  19. #
  20. #
  21. #
  22. # All object files for single real precision
  23. #
  24. slev1 = cblas_srotg.o cblas_srotmg.o cblas_srot.o cblas_srotm.o \
  25. cblas_sswap.o cblas_sscal.o cblas_scopy.o cblas_saxpy.o \
  26. cblas_sdot.o cblas_sdsdot.o cblas_snrm2.o cblas_sasum.o \
  27. cblas_isamax.o sdotsub.o sdsdotsub.o snrm2sub.o sasumsub.o \
  28. isamaxsub.o
  29. #
  30. # All object files for double real precision
  31. #
  32. dlev1 = cblas_drotg.o cblas_drotmg.o cblas_drot.o cblas_drotm.o \
  33. cblas_dswap.o cblas_dscal.o cblas_dcopy.o cblas_daxpy.o \
  34. cblas_ddot.o cblas_dsdot.o cblas_dnrm2.o cblas_dasum.o \
  35. cblas_idamax.o ddotsub.o dsdotsub.o dnrm2sub.o \
  36. dasumsub.o idamaxsub.o
  37. #
  38. # All object files for single complex precision
  39. #
  40. clev1 = cblas_cswap.o cblas_cscal.o cblas_csscal.o cblas_ccopy.o \
  41. cblas_caxpy.o cblas_cdotu_sub.o cblas_cdotc_sub.o \
  42. cblas_icamax.o cdotcsub.o cdotusub.o icamaxsub.o
  43. #
  44. # All object files for double complex precision
  45. #
  46. zlev1 = cblas_zswap.o cblas_zscal.o cblas_zdscal.o cblas_zcopy.o \
  47. cblas_zaxpy.o cblas_zdotu_sub.o cblas_zdotc_sub.o cblas_dznrm2.o \
  48. cblas_dzasum.o cblas_izamax.o zdotcsub.o zdotusub.o \
  49. dzasumsub.o dznrm2sub.o izamaxsub.o
  50. #
  51. # Common files for single / complex precision
  52. #
  53. sclev1 = cblas_scasum.o scasumsub.o cblas_scnrm2.o scnrm2sub.o
  54. #
  55. # All object files
  56. #
  57. alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1)
  58. #
  59. # Make an archive file
  60. #
  61. # Single real precision
  62. slib1: $(slev1) $(sclev1)
  63. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev1) $(sclev1)
  64. $(RANLIB) $(CBLASLIB)
  65. # Double real precision
  66. dlib1: $(dlev1)
  67. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev1)
  68. $(RANLIB) $(CBLASLIB)
  69. # Single complex precision
  70. clib1: $(clev1) $(sclev1)
  71. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev1) $(sclev1)
  72. $(RANLIB) $(CBLASLIB)
  73. # Double complex precision
  74. zlib1: $(zlev1)
  75. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev1)
  76. $(RANLIB) $(CBLASLIB)
  77. # All precisions
  78. all1: $(alev1)
  79. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev1)
  80. $(RANLIB) $(CBLASLIB)
  81. #
  82. #
  83. # CBLAS routines
  84. #
  85. # Level 2
  86. #
  87. #
  88. #
  89. # All object files for single real precision
  90. #
  91. slev2 = cblas_sgemv.o cblas_sgbmv.o cblas_sger.o cblas_ssbmv.o cblas_sspmv.o \
  92. cblas_sspr.o cblas_sspr2.o cblas_ssymv.o cblas_ssyr.o cblas_ssyr2.o \
  93. cblas_stbmv.o cblas_stbsv.o cblas_stpmv.o cblas_stpsv.o cblas_strmv.o \
  94. cblas_strsv.o
  95. #
  96. # All object files for double real precision
  97. #
  98. dlev2 = cblas_dgemv.o cblas_dgbmv.o cblas_dger.o cblas_dsbmv.o cblas_dspmv.o \
  99. cblas_dspr.o cblas_dspr2.o cblas_dsymv.o cblas_dsyr.o cblas_dsyr2.o \
  100. cblas_dtbmv.o cblas_dtbsv.o cblas_dtpmv.o cblas_dtpsv.o cblas_dtrmv.o \
  101. cblas_dtrsv.o
  102. #
  103. # All object files for single complex precision
  104. #
  105. clev2 = cblas_cgemv.o cblas_cgbmv.o cblas_chemv.o cblas_chbmv.o cblas_chpmv.o \
  106. cblas_ctrmv.o cblas_ctbmv.o cblas_ctpmv.o cblas_ctrsv.o cblas_ctbsv.o \
  107. cblas_ctpsv.o cblas_cgeru.o cblas_cgerc.o cblas_cher.o cblas_cher2.o \
  108. cblas_chpr.o cblas_chpr2.o
  109. #
  110. # All object files for double complex precision
  111. #
  112. zlev2 = cblas_zgemv.o cblas_zgbmv.o cblas_zhemv.o cblas_zhbmv.o cblas_zhpmv.o \
  113. cblas_ztrmv.o cblas_ztbmv.o cblas_ztpmv.o cblas_ztrsv.o cblas_ztbsv.o \
  114. cblas_ztpsv.o cblas_zgeru.o cblas_zgerc.o cblas_zher.o cblas_zher2.o \
  115. cblas_zhpr.o cblas_zhpr2.o
  116. #
  117. # All object files
  118. #
  119. alev2 = $(slev2) $(dlev2) $(clev2) $(zlev2)
  120. #
  121. # Make an archive file
  122. #
  123. # Single real precision
  124. slib2: $(slev2) $(errhand)
  125. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev2) $(errhand)
  126. $(RANLIB) $(CBLASLIB)
  127. # Double real precision
  128. dlib2: $(dlev2) $(errhand)
  129. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev2) $(errhand)
  130. $(RANLIB) $(CBLASLIB)
  131. # Single complex precision
  132. clib2: $(clev2) $(errhand)
  133. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev2) $(errhand)
  134. $(RANLIB) $(CBLASLIB)
  135. # Double complex precision
  136. zlib2: $(zlev2) $(errhand)
  137. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev2) $(errhand)
  138. $(RANLIB) $(CBLASLIB)
  139. # All precisions
  140. all2: $(alev2) $(errhand)
  141. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev2) $(errhand)
  142. $(RANLIB) $(CBLASLIB)
  143. #
  144. #
  145. # CBLAS routines
  146. #
  147. # Level 3
  148. #
  149. #
  150. #
  151. # All object files for single real precision
  152. #
  153. slev3 = cblas_sgemm.o cblas_ssymm.o cblas_ssyrk.o cblas_ssyr2k.o cblas_strmm.o\
  154. cblas_strsm.o
  155. #
  156. # All object files for double real precision
  157. #
  158. dlev3 = cblas_dgemm.o cblas_dsymm.o cblas_dsyrk.o cblas_dsyr2k.o cblas_dtrmm.o\
  159. cblas_dtrsm.o
  160. #
  161. # All object files for single complex precision
  162. #
  163. clev3 = cblas_cgemm.o cblas_csymm.o cblas_chemm.o cblas_cherk.o\
  164. cblas_cher2k.o cblas_ctrmm.o cblas_ctrsm.o cblas_csyrk.o\
  165. cblas_csyr2k.o
  166. #
  167. # All object files for double complex precision
  168. #
  169. zlev3 = cblas_zgemm.o cblas_zsymm.o cblas_zhemm.o cblas_zherk.o\
  170. cblas_zher2k.o cblas_ztrmm.o cblas_ztrsm.o cblas_zsyrk.o\
  171. cblas_zsyr2k.o
  172. #
  173. # All object files
  174. #
  175. alev3 = $(slev3) $(dlev3) $(clev3) $(zlev3)
  176. #
  177. # Make an archive file
  178. #
  179. # Single real precision
  180. slib3: $(slev3) $(errhand)
  181. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev3) $(errhand)
  182. $(RANLIB) $(CBLASLIB)
  183. # Double real precision
  184. dlib3: $(dlev3) $(errhand)
  185. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev3) $(errhand)
  186. $(RANLIB) $(CBLASLIB)
  187. # Single complex precision
  188. clib3: $(clev3) $(errhand)
  189. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev3) $(errhand)
  190. $(RANLIB) $(CBLASLIB)
  191. # Single complex precision
  192. zlib3: $(zlev3) $(errhand)
  193. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev3) $(errhand)
  194. $(RANLIB) $(CBLASLIB)
  195. # All precisions
  196. all3: $(alev3) $(errhand)
  197. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev3)
  198. $(RANLIB) $(CBLASLIB)
  199. # All levels and precisions
  200. cblaslib: $(alev)
  201. $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev)
  202. $(RANLIB) $(CBLASLIB)
  203. FRC:
  204. @FRC=$(FRC)
  205. .c.o:
  206. $(CC) -c $(CFLAGS) -I ../include -o $@ $<
  207. .f.o:
  208. $(FORTRAN) $(OPTS) -c $< -o $@