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.tail 24 kB

2 months ago
2 months ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658
  1. ###############################################################################
  2. # Copyright (c) 2025, The OpenBLAS Project
  3. # All rights reserved.
  4. # Redistribution and use in source and binary forms, with or without
  5. # modification, are permitted provided that the following conditions are
  6. # met:
  7. # 1. Redistributions of source code must retain the above copyright
  8. # notice, this list of conditions and the following disclaimer.
  9. # 2. Redistributions in binary form must reproduce the above copyright
  10. # notice, this list of conditions and the following disclaimer in
  11. # the documentation and/or other materials provided with the
  12. # distribution.
  13. # 3. Neither the name of the OpenBLAS project nor the names of
  14. # its contributors may be used to endorse or promote products
  15. # derived from this software without specific prior written permission.
  16. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  17. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  19. # ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
  20. # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  21. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  22. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  23. # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  24. # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  25. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  26. # POSSIBILITY OF SUCH DAMAGE.
  27. ###############################################################################
  28. BBLASOBJS_P = $(BBLASOBJS:.$(SUFFIX)=.$(PSUFFIX))
  29. SBBLASOBJS_P = $(SBBLASOBJS:.$(SUFFIX)=.$(PSUFFIX))
  30. SHBLASPBJS_P = $(SHBLASOBJS:.$(SUFFIX)=.$(PSUFFIX))
  31. SBLASOBJS_P = $(SBLASOBJS:.$(SUFFIX)=.$(PSUFFIX))
  32. DBLASOBJS_P = $(DBLASOBJS:.$(SUFFIX)=.$(PSUFFIX))
  33. QBLASOBJS_P = $(QBLASOBJS:.$(SUFFIX)=.$(PSUFFIX))
  34. CBLASOBJS_P = $(CBLASOBJS:.$(SUFFIX)=.$(PSUFFIX))
  35. ZBLASOBJS_P = $(ZBLASOBJS:.$(SUFFIX)=.$(PSUFFIX))
  36. XBLASOBJS_P = $(XBLASOBJS:.$(SUFFIX)=.$(PSUFFIX))
  37. SBEXTOBJS_P = $(SBEXTOBJS:.$(SUFFIX)=.$(PSUFFIX))
  38. COMMONOBJS_P = $(COMMONOBJS:.$(SUFFIX)=.$(PSUFFIX))
  39. HPLOBJS_P = $(HPLOBJS:.$(SUFFIX)=.$(PSUFFIX))
  40. BLASOBJS = $(SHBLASOBJS) $(BBLASOBJS) $(SBEXTOBJS) $(SBBLASOBJS) $(SBLASOBJS) $(DBLASOBJS) $(CBLASOBJS) $(ZBLASOBJS) $(CBAUXOBJS)
  41. BLASOBJS_P = $(SHBLASPBJS_P) $(BBLASOBJS_P) $(SBEXTOBJS_P) $(SBBLASOBJS_P) $(SBLASOBJS_P) $(DBLASOBJS_P) $(CBLASOBJS_P) $(ZBLASOBJS_P) $(CBAUXOBJS_P)
  42. ifdef EXPRECISION
  43. BLASOBJS += $(QBLASOBJS) $(XBLASOBJS)
  44. BLASOBJS_P += $(QBLASOBJS_P) $(XBLASOBJS_P)
  45. endif
  46. ifdef QUAD_PRECISION
  47. BLASOBJS += $(QBLASOBJS) $(XBLASOBJS)
  48. BLASOBJS_P += $(QBLASOBJS_P) $(XBLASOBJS_P)
  49. endif
  50. $(SHBLASOBJS) $(SHBLASOBJS_P) : override CFLAGS += -DHFLOAT16 -UDOUBLE -UCOMPLEX
  51. $(BBLASOBJS) $(BBLASOBJS_P) : override CFLAGS += -DBFLOAT16 -DBGEMM -UDOUBLE -UCOMPLEX
  52. $(SBBLASOBJS) $(SBBLASOBJS_P) : override CFLAGS += -DBFLOAT16 -UDOUBLE -UCOMPLEX
  53. $(SBLASOBJS) $(SBLASOBJS_P) : override CFLAGS += -UDOUBLE -UCOMPLEX
  54. $(DBLASOBJS) $(DBLASOBJS_P) : override CFLAGS += -DDOUBLE -UCOMPLEX
  55. $(QBLASOBJS) $(QBLASOBJS_P) : override CFLAGS += -DXDOUBLE -UCOMPLEX
  56. $(CBLASOBJS) $(CBLASOBJS_P) : override CFLAGS += -UDOUBLE -DCOMPLEX
  57. $(ZBLASOBJS) $(ZBLASOBJS_P) : override CFLAGS += -DDOUBLE -DCOMPLEX
  58. $(XBLASOBJS) $(XBLASOBJS_P) : override CFLAGS += -DXDOUBLE -DCOMPLEX
  59. $(SBEXTOBJS) $(SBEXTOBJS_P) : override CFLAGS += -DBFLOAT16 -UDOUBLE -UCOMPLEX
  60. $(SHBLASOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  61. $(BBLASOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  62. $(SBBLASOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  63. $(SBLASOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  64. $(DBLASOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  65. $(QBLASOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  66. $(CBLASOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  67. $(ZBLASOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  68. $(XBLASOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  69. $(SBEXTOBJS_P) : override CFLAGS += -DPROFILE $(COMMON_PROF)
  70. libs :: $(BLASOBJS) $(COMMONOBJS)
  71. $(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME) $^
  72. prof :: $(BLASOBJS_P) $(COMMONOBJS_P)
  73. $(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME_P) $^
  74. hpl :: $(HPLOBJS) $(COMMONOBJS)
  75. $(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME) $^
  76. hpl_p :: $(HPLOBJS_P) $(COMMONOBJS_P)
  77. $(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME_P) $^
  78. kernel :: $(BLASOBJS)
  79. $(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME) $^
  80. commonlibs :: $(COMMONOBJS)
  81. $(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME) $^
  82. commonprof :: $(COMMONOBJS_P)
  83. $(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME_P) $^
  84. quick :
  85. $(MAKE) -C $(TOPDIR) libs
  86. bms.$(SUFFIX):bm.c $(TOPDIR)/../bench/bmcommon.h
  87. $(CC) $(CFLAGS) -UDOUBLE -UCOMPLEX -c $< -o $(@F)
  88. bmd.$(SUFFIX):bm.c $(TOPDIR)/../bench/bmcommon.h
  89. $(CC) $(CFLAGS) -DDOUBLE -UCOMPLEX -c $< -o $(@F)
  90. bmd-k.$(SUFFIX):bm-k.c $(TOPDIR)/../bench/bmcommon.h
  91. $(CC) $(CFLAGS) -DDOUBLE -UCOMPLEX -c $< -o $(@F)
  92. ifdef QUAD_PRECISION
  93. bmq.$(SUFFIX):bmq.c $(TOPDIR)/../bench/bmcommon.h
  94. $(CC) $(CFLAGS) -DXDOUBLE -UCOMPLEX -c $< -o $(@F)
  95. bmx.$(SUFFIX):bmx.c $(TOPDIR)/../bench/bmcommon.h
  96. $(CC) $(CFLAGS) -DXDOUBLE -DCOMPLEX -c $< -o $(@F)
  97. else
  98. bmq.$(SUFFIX):bm.c $(TOPDIR)/../bench/bmcommon.h
  99. $(CC) $(CFLAGS) -DXDOUBLE -UCOMPLEX -c $< -o $(@F)
  100. bmx.$(SUFFIX):bmz.c $(TOPDIR)/../bench/bmcommon.h
  101. $(CC) $(CFLAGS) -DXDOUBLE -DCOMPLEX -c $< -o $(@F)
  102. endif
  103. bmc.$(SUFFIX):bmz.c $(TOPDIR)/../bench/bmcommon.h
  104. $(CC) $(CFLAGS) -UDOUBLE -DCOMPLEX -c $< -o $(@F)
  105. bmz.$(SUFFIX):bmz.c $(TOPDIR)/../bench/bmcommon.h
  106. $(CC) $(CFLAGS) -DDOUBLE -DCOMPLEX -c $< -o $(@F)
  107. bmd_nn.$(SUFFIX):bm_special.c $(TOPDIR)/../bench/bmcommon.h
  108. $(CC) $(CFLAGS) -DDOUBLE -UCOMPLEX -DNN -c $< -o $(@F)
  109. bmd_nt.$(SUFFIX):bm_special.c $(TOPDIR)/../bench/bmcommon.h
  110. $(CC) $(CFLAGS) -DDOUBLE -UCOMPLEX -DNT -c $< -o $(@F)
  111. bmd_tn.$(SUFFIX):bm_special.c $(TOPDIR)/../bench/bmcommon.h
  112. $(CC) $(CFLAGS) -DDOUBLE -UCOMPLEX -DTN -c $< -o $(@F)
  113. bmd_tt.$(SUFFIX):bm_special.c $(TOPDIR)/../bench/bmcommon.h
  114. $(CC) $(CFLAGS) -DDOUBLE -UCOMPLEX -DTT -c $< -o $(@F)
  115. bm-phy.$(SUFFIX):bm-phy.c $(TOPDIR)/../bench/bmcommon.h
  116. $(CC) $(CFLAGS) -DDOUBLE -UCOMPLEX -c $< -o $(@F)
  117. bms.$(PSUFFIX):bm.c $(TOPDIR)/../bench/bmcommon.h
  118. $(CC) $(PFLAGS) -UDOUBLE -UCOMPLEX -c $< -o $(@F)
  119. bmd.$(PSUFFIX):bm.c $(TOPDIR)/../bench/bmcommon.h
  120. $(CC) $(PFLAGS) -DDOUBLE -UCOMPLEX -c $< -o $(@F)
  121. ifdef QUAD_PRECISION
  122. bmq.$(PSUFFIX):bmq.c $(TOPDIR)/../bench/bmcommon.h
  123. $(CC) $(PFLAGS) -DXDOUBLE -UCOMPLEX -c $< -o $(@F)
  124. bmx.$(PSUFFIX):bmx.c $(TOPDIR)/../bench/bmcommon.h
  125. $(CC) $(PFLAGS) -DXDOUBLE -DCOMPLEX -c $< -o $(@F)
  126. else
  127. bmq.$(PSUFFIX):bm.c $(TOPDIR)/../bench/bmcommon.h
  128. $(CC) $(PFLAGS) -DXDOUBLE -UCOMPLEX -c $< -o $(@F)
  129. bmx.$(PSUFFIX):bmz.c $(TOPDIR)/../bench/bmcommon.h
  130. $(CC) $(PFLAGS) -DXDOUBLE -DCOMPLEX -c $< -o $(@F)
  131. endif
  132. bmc.$(PSUFFIX):bmz.c $(TOPDIR)/../bench/bmcommon.h
  133. $(CC) $(PFLAGS) -UDOUBLE -DCOMPLEX -c $< -o $(@F)
  134. bmz.$(PSUFFIX):bmz.c $(TOPDIR)/../bench/bmcommon.h
  135. $(CC) $(PFLAGS) -DDOUBLE -DCOMPLEX -c $< -o $(@F)
  136. bms : bms.$(SUFFIX) $(SBLASOBJS) $(COMMONOBJS) $(SOBJS) $(OBJS) $(LIBS)
  137. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  138. bmd : bmd.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(DOBJS) $(OBJS) $(LIBS)
  139. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB) -lm
  140. bmd-k : bmd-k.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(DOBJS) $(OBJS) $(LIBS)
  141. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB) -lm
  142. bmq : bmq.$(SUFFIX) $(QBLASOBJS) $(COMMONOBJS) $(QOBJS) $(OBJS) $(LIBS)
  143. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  144. bmc : bmc.$(SUFFIX) $(CBLASOBJS) $(COMMONOBJS) $(COBJS) $(OBJS) $(LIBS)
  145. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB) $(FEXTRALIB)
  146. bmz : bmz.$(SUFFIX) $(ZBLASOBJS) $(COMMONOBJS) $(ZOBJS) $(OBJS) $(LIBS)
  147. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  148. bmx : bmx.$(SUFFIX) $(XBLASOBJS) $(COMMONOBJS) $(XOBJS) $(OBJS) $(LIBS)
  149. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  150. bmd_nn : bmd_nn.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(DOBJS) $(OBJS) $(LIBS)
  151. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  152. bmd_nt : bmd_nt.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(DOBJS) $(OBJS) $(LIBS)
  153. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  154. bmd_tn : bmd_tn.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(DOBJS) $(OBJS) $(LIBS)
  155. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  156. bmd_tt : bmd_tt.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(DOBJS) $(OBJS) $(LIBS)
  157. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  158. bm-phy:bm-phy.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(DOBJS) $(OBJS) $(LIBS)
  159. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  160. bmcc : bmcc.$(SUFFIX) $(CBLASOBJS) $(COMMONOBJS) $(COBJS) $(OBJS) $(LIBS)
  161. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  162. bmzc : bmzc.$(SUFFIX) $(ZBLASOBJS) $(COMMONOBJS) $(ZOBJS) $(OBJS) $(LIBS)
  163. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  164. bms.prof : bms.$(PSUFFIX) $(SBLASOBJS_P) $(COMMONOBJS_P) $(SOBJS) $(OBJS) $(LIBS_P)
  165. $(CC) -o $(@F) $(PFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  166. bmd.prof : bmd.$(PSUFFIX) $(DBLASOBJS_P) $(COMMONOBJS_P) $(DOBJS) $(OBJS) $(LIBS_P)
  167. $(CC) -o $(@F) $(PFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  168. bmq.prof : bmq.$(PSUFFIX) $(QBLASOBJS_P) $(COMMONOBJS_P) $(QOBJS) $(OBJS) $(LIBS_P)
  169. $(CC) -o $(@F) $(PFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  170. bmc.prof : bmc.$(PSUFFIX) $(CBLASOBJS_P) $(COMMONOBJS) $(COBJS) $(OBJS) $(LIBS_P)
  171. $(CC) -o $(@F) $(PFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  172. bmz.prof : bmz.$(PSUFFIX) $(ZBLASOBJS_P) $(COMMONOBJS) $(ZOBJS) $(OBJS) $(LIBS_P)
  173. $(CC) -o $(@F) $(PFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  174. bmx.prof : bmz.$(PSUFFIX) $(XBLASOBJS_P) $(COMMONOBJS) $(XOBJS) $(OBJS) $(LIBS_P)
  175. $(CC) -o $(@F) $(PFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  176. bms.cxml : bms.$(SUFFIX) $(SOBJS) $(OBJS)
  177. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBCXML)
  178. bmd.cxml : bmd.$(SUFFIX) $(DOBJS) $(OBJS)
  179. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBCXML)
  180. bmc.cxml : bmc.$(SUFFIX) $(COBJS) $(OBJS)
  181. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBCXML)
  182. bmz.cxml : bmz.$(SUFFIX) $(ZOBJS) $(OBJS)
  183. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBCXML)
  184. bms.scsl : bms.$(SUFFIX) $(SOBJS) $(OBJS)
  185. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSCSL)
  186. bmd.scsl : bmd.$(SUFFIX) $(DOBJS) $(OBJS)
  187. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSCSL)
  188. bmc.scsl : bmc.$(SUFFIX) $(COBJS) $(OBJS)
  189. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSCSL)
  190. bmz.scsl : bmz.$(SUFFIX) $(ZOBJS) $(OBJS)
  191. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSCSL)
  192. bms.acml : bms.$(SUFFIX) $(SOBJS) $(OBJS)
  193. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBACML)
  194. bmd.acml : bmd.$(SUFFIX) $(DOBJS) $(OBJS)
  195. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBACML)
  196. bmc.acml : bmc.$(SUFFIX) $(COBJS) $(OBJS)
  197. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBACML)
  198. bmz.acml : bmz.$(SUFFIX) $(ZOBJS) $(OBJS)
  199. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBACML)
  200. bms.sun : bms.$(SUFFIX) $(SOBJS) $(OBJS)
  201. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSUNPERF) $(EXTRALIB) $(CEXTRALIB)
  202. bmd.sun : bmd.$(SUFFIX) $(DOBJS) $(OBJS)
  203. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSUNPERF) $(EXTRALIB) $(CEXTRALIB)
  204. bmc.sun : bmc.$(SUFFIX) $(COBJS) $(OBJS)
  205. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSUNPERF) $(EXTRALIB) $(CEXTRALIB)
  206. bmz.sun : bmz.$(SUFFIX) $(ZOBJS) $(OBJS)
  207. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSUNPERF) $(EXTRALIB) $(CEXTRALIB)
  208. bms.atlas : bms.$(SUFFIX) $(SOBJS) $(OBJS)
  209. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBATLAS)
  210. bmd.atlas : bmd.$(SUFFIX) $(DOBJS) $(OBJS)
  211. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBATLAS)
  212. bmc.atlas : bmc.$(SUFFIX) $(COBJS) $(OBJS)
  213. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBATLAS)
  214. bmz.atlas : bmz.$(SUFFIX) $(ZOBJS) $(OBJS)
  215. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBATLAS)
  216. bms.essl : bms.$(SUFFIX) $(SOBJS) $(OBJS)
  217. $(CC) $(FCOMMON_OPT) -o $(@F) $^ $(LIBESSL)
  218. bmd.essl : bmd.$(SUFFIX) $(DOBJS) $(OBJS)
  219. $(CC) $(CCOMMON_OPT) -o $(@F) $^ $(LIBESSL)
  220. bmc.essl : bmc.$(SUFFIX) $(COBJS) $(OBJS)
  221. $(F77) $(CCOMMON_OPT) -o $(@F) $^ $(LIBESSL)
  222. bmz.essl : bmz.$(SUFFIX) $(ZOBJS) $(OBJS)
  223. $(CC) $(CCOMMON_OPT) -o $(@F) $^ $(LIBESSL)
  224. bms.flame : bms.$(SUFFIX) $(SOBJS) $(OBJS)
  225. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBFLAME)
  226. bmd.flame : bmd.$(SUFFIX) $(DOBJS) $(OBJS)
  227. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBFLAME)
  228. bmc.flame : bmc.$(SUFFIX) $(COBJS) $(OBJS)
  229. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBFLAME)
  230. bmz.flame : bmz.$(SUFFIX) $(ZOBJS) $(OBJS)
  231. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBFLAME)
  232. bms.flame.prof : bms.$(SUFFIX) $(SOBJS) $(OBJS_P)
  233. $(F77) -o $(@F) $(PFLAGS) $^ $(LIBFLAME)
  234. bmd.flame.prof : bmd.$(SUFFIX) $(DOBJS) $(OBJS_P)
  235. $(F77) -o $(@F) $(PFLAGS) $^ $(LIBFLAME)
  236. bmc.flame.prof : bmc.$(SUFFIX) $(COBJS) $(OBJS_P)
  237. $(F77) -o $(@F) $(PFLAGS) $^ $(LIBFLAME)
  238. bmz.flame.prof : bmz.$(SUFFIX) $(ZOBJS) $(OBJS_P)
  239. $(F77) -o $(@F) $(PFLAGS) $^ $(LIBFLAME)
  240. bms.mkl : bms.$(SUFFIX) $(SOBJS) $(OBJS)
  241. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBMKL) $(EXTRALIB) $(CEXTRALIB)
  242. bmd.mkl : bmd.$(SUFFIX) $(DOBJS) $(OBJS)
  243. $(CC) -static -o $(@F) $(CFLAGS) $^ $(LIBMKL) $(EXTRALIB) $(CEXTRALIB)
  244. bmc.mkl : bmc.$(SUFFIX) $(COBJS) $(OBJS)
  245. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBMKL) $(EXTRALIB) $(CEXTRALIB)
  246. bmz.mkl : bmz.$(SUFFIX) $(ZOBJS) $(OBJS)
  247. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBMKL) $(EXTRALIB) $(CEXTRALIB)
  248. bmq.mkl : bmq.$(SUFFIX) $(QOBJS) $(OBJS)
  249. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBMKL) $(EXTRALIB) $(CEXTRALIB)
  250. bms.mkl.prof : bms.$(PSUFFIX) $(SOBJS) $(OBJS)
  251. $(CC) -o $(@F) $(PFLAGS) $^ $(LIBMKL)
  252. bmd.mkl.prof : bmd.$(PSUFFIX) $(DOBJS) $(OBJS)
  253. $(CC) -o $(@F) $(PFLAGS) $^ $(LIBMKL)
  254. bmc.mkl.prof : bmc.$(PSUFFIX) $(COBJS) $(OBJS)
  255. $(CC) -o $(@F) $(PFLAGS) $^ $(LIBMKL)
  256. bmz.mkl.prof : bmz.$(PSUFFIX) $(ZOBJS) $(OBJS)
  257. $(CC) -o $(@F) $(PFLAGS) $^ $(LIBMKL)
  258. bms.mlib : bms.$(SUFFIX) $(SOBJS) $(OBJS)
  259. $(F77) -o $(@F) $(CFLAGS) $^ $(LIBMLIB)
  260. bmd.mlib : bmd.$(SUFFIX) $(DOBJS) $(OBJS)
  261. $(F77) -o $(@F) $(CFLAGS) $^ $(LIBMLIB)
  262. bmc.mlib : bmc.$(SUFFIX) $(COBJS) $(OBJS)
  263. $(F77) -o $(@F) $(CFLAGS) $^ $(LIBMLIB)
  264. bmz.mlib : bmz.$(SUFFIX) $(ZOBJS) $(OBJS)
  265. $(F77) -o $(@F) $(CFLAGS) $^ $(LIBMLIB)
  266. bms.veclib : bms.$(SUFFIX) $(SOBJS)
  267. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBVECLIB)
  268. bmd.veclib : bmd.$(SUFFIX) $(DOBJS)
  269. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBVECLIB)
  270. bmc.veclib : bmc.$(SUFFIX) $(COBJS)
  271. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBVECLIB)
  272. bmz.veclib : bmz.$(SUFFIX) $(ZOBJS)
  273. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBVECLIB)
  274. bms.fuji : bms.$(SUFFIX) $(SOBJS)
  275. ifndef SMP
  276. fcc -KV9FMADD -SSL2 -o $(@F) $^
  277. else
  278. fcc -KV9FMADD -SSL2BLAMP -o $(@F) $^
  279. endif
  280. bmd.fuji : bmd.$(SUFFIX) $(DOBJS)
  281. ifndef SMP
  282. fcc -KV9FMADD -SSL2 -o $(@F) $^
  283. else
  284. fcc -KV9FMADD -SSL2BLAMP -o $(@F) $^
  285. endif
  286. bmc.fuji : bmc.$(SUFFIX) $(COBJS)
  287. ifndef SMP
  288. fcc -KV9FMADD -SSL2 -o $(@F) $^
  289. else
  290. fcc -KV9FMADD -SSL2BLAMP -o $(@F) $^
  291. endif
  292. bmz.fuji : bmz.$(SUFFIX) $(ZOBJS)
  293. ifndef SMP
  294. fcc -KV9FMADD -SSL2 -o $(@F) $^
  295. else
  296. fcc -KV9FMADD -SSL2BLAMP -o $(@F) $^
  297. endif
  298. bench: bench.$(SUFFIX) $(BLASOBJS) $(COMMONOBJS) $(OBJS) $(LIBS)
  299. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  300. bench.$(SUFFIX): bench.c
  301. $(CC) -c -o $(@F) $(CFLAGS) $^
  302. bench_old: bench_old.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(OBJS) $(LIBS)
  303. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  304. kbench: kbench.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(OBJS) $(LIBS)
  305. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  306. prebench: prebench.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(OBJS) $(LIBS)
  307. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  308. kbench_rank_k: kbench_rank_k.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(OBJS) $(LIBS)
  309. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  310. smallbench: smallbench.$(SUFFIX) $(BLASOBJS) $(COMMONOBJS) $(OBJS) $(LIBS)
  311. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  312. smallbench.mkl: smallbench.$(SUFFIX)
  313. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBMKL) $(EXTRALIB) $(CEXTRALIB)
  314. bench.sun: bench.$(SUFFIX) $(OBJS)
  315. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSUNPERF) $(EXTRALIB) $(CEXTRALIB)
  316. bench.cxml: bench.$(SUFFIX) $(OBJS)
  317. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBCXML)
  318. bench.atlas: bench.$(SUFFIX) $(OBJS)
  319. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBATLAS)
  320. bench.essl: bench.$(SUFFIX) $(OBJS)
  321. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBESSL) ../../level1/others/libmisc.$(LIBSUFFIX)
  322. bench.scsl: bench.$(SUFFIX) $(OBJS)
  323. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSCSL) $(EXTRALIB) $(CEXTRALIB)
  324. bench.acml: bench.$(SUFFIX) $(OBJS)
  325. $(CC) -static -o $(@F) $(CFLAGS) $^ $(LIBACML) $(EXTRALIB) $(CEXTRALIB)
  326. bench.flame: bench.$(SUFFIX) $(OBJS)
  327. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBFLAME) $(EXTRALIB) $(CEXTRALIB)
  328. kbench.mkl: kbench.$(SUFFIX) $(OBJS)
  329. $(CC) -static -o $(@F) $(CFLAGS) $^ $(LIBMKL) $(EXTRALIB) $(CEXTRALIB)
  330. bench.mkl: bench.$(SUFFIX) $(OBJS)
  331. $(CC) -static -o $(@F) $(CFLAGS) $^ $(LIBMKL) $(EXTRALIB) $(CEXTRALIB)
  332. bench_old.mkl: bench_old.$(SUFFIX) $(OBJS)
  333. $(CC) -static -o $(@F) $(CFLAGS) $^ $(LIBMKL) $(EXTRALIB) $(CEXTRALIB)
  334. bench.mlib: bench.$(SUFFIX) $(OBJS)
  335. $(F77) -o $(@F) $(CFLAGS) $^ $(LIBMLIB)
  336. bench.veclib: bench.$(SUFFIX) $(OBJS)
  337. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBVECLIB)
  338. params : params.$(SUFFIX) $(SBLASOBJS) $(COMMONOBJS) $(SOBJS) $(OBJS) $(LIBS)
  339. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  340. paramd : paramd.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(DOBJS) $(OBJS) $(LIBS)
  341. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  342. paramq : paramq.$(SUFFIX) $(QBLASOBJS) $(COMMONOBJS) $(QOBJS) $(OBJS) $(LIBS)
  343. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  344. paramc : paramc.$(SUFFIX) $(CBLASOBJS) $(COMMONOBJS) $(COBJS) $(OBJS) $(LIBS)
  345. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  346. paramz : paramz.$(SUFFIX) $(ZBLASOBJS) $(COMMONOBJS) $(ZOBJS) $(OBJS) $(LIBS)
  347. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  348. paramx : paramx.$(SUFFIX) $(XBLASOBJS) $(COMMONOBJS) $(XOBJS) $(OBJS) $(LIBS)
  349. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  350. params-ex : params-ex.$(SUFFIX) $(SBLASOBJS) $(COMMONOBJS) $(SOBJS) $(OBJS) $(LIBS)
  351. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  352. paramd-ex : paramd-ex.$(SUFFIX) $(DBLASOBJS) $(COMMONOBJS) $(DOBJS) $(OBJS) $(LIBS)
  353. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  354. paramq-ex : paramq-ex.$(SUFFIX) $(QBLASOBJS) $(COMMONOBJS) $(QOBJS) $(OBJS) $(LIBS)
  355. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  356. paramc-ex : paramc-ex.$(SUFFIX) $(CBLASOBJS) $(COMMONOBJS) $(COBJS) $(OBJS) $(LIBS)
  357. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  358. paramz-ex : paramz-ex.$(SUFFIX) $(ZBLASOBJS) $(COMMONOBJS) $(ZOBJS) $(OBJS) $(LIBS)
  359. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  360. paramx-ex : paramx-ex.$(SUFFIX) $(XBLASOBJS) $(COMMONOBJS) $(XOBJS) $(OBJS) $(LIBS)
  361. $(CC) -o $(@F) $(CFLAGS) $^ $(EXTRALIB) $(CEXTRALIB)
  362. params.atlas : params.$(SUFFIX) $(OBJS) $(SOBJS)
  363. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBATLAS)
  364. paramd.atlas : paramd.$(SUFFIX) $(OBJS) $(DOBJS)
  365. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBATLAS)
  366. paramc.atlas : paramc.$(SUFFIX) $(OBJS) $(COBJS)
  367. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBATLAS)
  368. paramz.atlas : paramz.$(SUFFIX) $(OBJS) $(ZOBJS)
  369. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBATLAS)
  370. params.sun : params.$(SUFFIX) $(OBJS) $(SOBJS)
  371. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSUNPERF)
  372. paramd.sun : paramd.$(SUFFIX) $(OBJS) $(DOBJS)
  373. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSUNPERF)
  374. paramc.sun : paramc.$(SUFFIX) $(OBJS) $(COBJS)
  375. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSUNPERF)
  376. paramz.sun : paramz.$(SUFFIX) $(OBJS) $(ZOBJS)
  377. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBSUNPERF)
  378. params.essl : params.$(SUFFIX) $(OBJS) $(SOBJS)
  379. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBESSL)
  380. paramd.essl : paramd.$(SUFFIX) $(OBJS) $(DOBJS)
  381. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBESSL)
  382. paramc.essl : paramc.$(SUFFIX) $(OBJS) $(COBJS)
  383. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBESSL)
  384. paramz.essl : paramz.$(SUFFIX) $(OBJS) $(ZOBJS)
  385. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBESSL)
  386. params.mkl : params.$(SUFFIX) $(OBJS) $(SOBJS)
  387. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBMKL)
  388. paramd.mkl : paramd.$(SUFFIX) $(OBJS) $(DOBJS)
  389. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBMKL)
  390. paramc.mkl : paramc.$(SUFFIX) $(OBJS) $(COBJS)
  391. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBMKL)
  392. paramz.mkl : paramz.$(SUFFIX) $(OBJS) $(ZOBJS)
  393. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBMKL)
  394. params.acml : params.$(SUFFIX) $(OBJS) $(SOBJS)
  395. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBACML)
  396. paramd.acml : paramd.$(SUFFIX) $(OBJS) $(DOBJS)
  397. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBACML)
  398. paramc.acml : paramc.$(SUFFIX) $(OBJS) $(COBJS)
  399. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBACML)
  400. paramz.acml : paramz.$(SUFFIX) $(OBJS) $(ZOBJS)
  401. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBACML)
  402. params.flame : params.$(SUFFIX) $(OBJS) $(SOBJS)
  403. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBFLAME) $(EXTRALIB) $(CEXTRALIB)
  404. paramd.flame : paramd.$(SUFFIX) $(OBJS) $(DOBJS)
  405. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBFLAME) $(EXTRALIB) $(CEXTRALIB)
  406. paramc.flame : paramc.$(SUFFIX) $(OBJS) $(COBJS)
  407. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBFLAME) $(EXTRALIB) $(CEXTRALIB)
  408. paramz.flame : paramz.$(SUFFIX) $(OBJS) $(ZOBJS)
  409. $(CC) -o $(@F) $(CFLAGS) $^ $(LIBFLAME) $(EXTRALIB) $(CEXTRALIB)
  410. params.$(SUFFIX):param.c $(TOPDIR)/../bench/bmcommon.h
  411. $(CC) $(CFLAGS) -UDOUBLE -UCOMPLEX -c $< -o $(@F)
  412. paramd.$(SUFFIX):param.c $(TOPDIR)/../bench/bmcommon.h
  413. $(CC) $(CFLAGS) -DDOUBLE -UCOMPLEX -c $< -o $(@F)
  414. paramq.$(SUFFIX):param.c $(TOPDIR)/../bench/bmcommon.h
  415. $(CC) $(CFLAGS) -DXDOUBLE -UCOMPLEX -c $< -o $(@F)
  416. paramc.$(SUFFIX):paramz.c $(TOPDIR)/../bench/bmcommon.h
  417. $(CC) $(CFLAGS) -UDOUBLE -DCOMPLEX -c $< -o $(@F)
  418. paramz.$(SUFFIX):paramz.c $(TOPDIR)/../bench/bmcommon.h
  419. $(CC) $(CFLAGS) -DDOUBLE -DCOMPLEX -c $< -o $(@F)
  420. paramx.$(SUFFIX):paramz.c $(TOPDIR)/../bench/bmcommon.h
  421. $(CC) $(CFLAGS) -DXDOUBLE -DCOMPLEX -c $< -o $(@F)
  422. params-ex.$(SUFFIX):param-ex.c $(TOPDIR)/../bench/bmcommon.h
  423. $(CC) $(CFLAGS) -UDOUBLE -UCOMPLEX -c $< -o $(@F)
  424. paramd-ex.$(SUFFIX):param-ex.c $(TOPDIR)/../bench/bmcommon.h
  425. $(CC) $(CFLAGS) -DDOUBLE -UCOMPLEX -c $< -o $(@F)
  426. paramq-ex.$(SUFFIX):param-ex.c $(TOPDIR)/../bench/bmcommon.h
  427. $(CC) $(CFLAGS) -DXDOUBLE -UCOMPLEX -c $< -o $(@F)
  428. paramc-ex.$(SUFFIX):paramz-ex.c $(TOPDIR)/../bench/bmcommon.h
  429. $(CC) $(CFLAGS) -UDOUBLE -DCOMPLEX -c $< -o $(@F)
  430. paramz-ex.$(SUFFIX):paramz-ex.c $(TOPDIR)/../bench/bmcommon.h
  431. $(CC) $(CFLAGS) -DDOUBLE -DCOMPLEX -c $< -o $(@F)
  432. paramx-ex.$(SUFFIX):paramz-ex.c $(TOPDIR)/../bench/bmcommon.h
  433. $(CC) $(CFLAGS) -DXDOUBLE -DCOMPLEX -c $< -o $(@F)
  434. gen_insn_flash.c :
  435. echo '#include <stdio.h>' > gen_insn_flash.c
  436. echo '#include <stdlib.h>' >> gen_insn_flash.c
  437. echo '#define ICACHE_SIZE ( 256 << 10)' >> gen_insn_flash.c
  438. echo 'int main(void){' >> gen_insn_flash.c
  439. echo 'int i;' >> gen_insn_flash.c
  440. echo '#ifdef __alpha' >> gen_insn_flash.c
  441. echo 'printf(".set noat;.set noreorder;\n");' >> gen_insn_flash.c
  442. echo 'printf(".arch ev6;.text;.align 5\n");' >> gen_insn_flash.c
  443. echo 'printf(".globl insn_flash\n");' >> gen_insn_flash.c
  444. echo 'printf(".ent insn_flash\n");' >> gen_insn_flash.c
  445. echo 'printf("insn_flash:\n");' >> gen_insn_flash.c
  446. echo 'for (i = 0; i < ICACHE_SIZE / 4; i++)' >> gen_insn_flash.c
  447. echo 'printf("br 1f\n 1:\n");' >> gen_insn_flash.c
  448. echo 'printf(".align 5;ret;.end insn_flash\n");'>> gen_insn_flash.c
  449. echo '#else' >> gen_insn_flash.c
  450. echo 'printf(".text;.align 32\n");' >> gen_insn_flash.c
  451. echo 'printf(".globl insn_flash\n");' >> gen_insn_flash.c
  452. echo 'printf("insn_flash:\n");' >> gen_insn_flash.c
  453. echo 'for (i = 0; i < ICACHE_SIZE / 2; i++)' >> gen_insn_flash.c
  454. echo 'printf("jmp 1f\n 1:\n");' >> gen_insn_flash.c
  455. echo 'printf(".align 32;ret\n");' >> gen_insn_flash.c
  456. echo '#endif' >> gen_insn_flash.c
  457. echo 'return 0;' >> gen_insn_flash.c
  458. echo '}' >> gen_insn_flash.c
  459. insn_flash.$(SUFFIX) : gen_insn_flash
  460. ./gen_insn_flash > temp.s
  461. $(AS) -o $(@F) temp.s
  462. rm -f temp.s
  463. dummy :
  464. clean ::
  465. @if test -d $(ARCH); then \
  466. (cd $(ARCH) && $(MAKE) clean) \
  467. fi
  468. @find . -name '*.o' | xargs rm -rf
  469. @rm -rf *.a *.s *.po *.obj *.i *.so core core.* gmon.out *.cso \
  470. *.csx *.is *~ *.exe *.flame *.pdb *.dwf \
  471. gen_insn_flash.c gen_insn_flash *.stackdump *.dll *.exp *.lib \
  472. *.pc *.pcl *.def *.i *.prof linktest.c \
  473. bms bmd bmc bmz bmq bmx \
  474. params paramd paramc paramz paramq paramx \
  475. params-ex paramd-ex paramc-ex paramz-ex paramq-ex paramx-ex \
  476. bench tpp kbench kbench2 \
  477. *.mkl *.sun *.acml *.cxml *.essl *.atlas *.scsl *.mlib *.veclib *.fuji