]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - dense-linear-algebra-libraries/linalg.git/blob - blasblisacc/src/Makefile
TI Linear Algebra Library (LINALG) Rlease 1.0.0
[dense-linear-algebra-libraries/linalg.git] / blasblisacc / src / Makefile
1 include ../../make.inc
3 TI_INSTALL_DIR?=/usr/src/dsp
5 PATH:=$(TI_OCL_CGT_INSTALL)/bin:$(PATH)
7 define FIND_DSP_PKG
8   export $(1)?=$$(patsubst %/$(3),%,$$(lastword $$(sort $$(wildcard $$(TI_INSTALL_DIR)/$(2)/$(3)))))
9   ifeq ($$($(1)),)
10     $$(error ERROR - $(1) is not defined and could not be found in $(TI_INSTALL_DIR)/ )
11   else
12     ifeq ($$(wildcard $$($(1))/$(3)),)
13       $$(error ERROR - "$(1) = $$($(1))" Is not valid!)
14     endif
15   endif
16   $$(info Using $(1) = $$($(1)))
17 endef
19 UNAME_M :=$(shell uname -m)
21 MAKEFLAGS += -j1
23 # Defines
24 TI_CBLAS_FAT_BINARY = 1
25 ARM_PLUS_DSP_LIB_DIR = ../lib
27 # INCLUDE Directory
28 $(eval $(call FIND_DSP_PKG,OMP_DIR,openmp_dsp*,packages))
29 ifneq (,$(findstring 86, $(UNAME_M)))
30 $(eval $(call FIND_DSP_PKG,C6636_PDK_DIR,pdk_keystone2*,packages))
31 endif 
32 INCDIR := $(TI_OCL_CGT_INSTALL)/include;$(TARGET_ROOTDIR)/usr/include;../../blis/install/c66x/include/blis/;$(OMP_DIR)/packages/ti/runtime/openmp;$(PDK_DIR)/packages
34 INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),$(space),$(INCDIR))))
35 OBJS = ti_cblas_initfini.o
38 CPP_DEBUG   = -g
39 CPP_FLAGS   = -D_LITTLE_ENDIAN -D__ARMv7 -DDEVICE_K2H -I../../cblas/include -I../../blis/install/arm/include/blis/ -I$(TI_OCL_INSTALL_DIR)/include -fopenmp 
40 CL6X_FLAGS  = $(INCS) --openmp --use_g2
41 CLOCL_FLAGS = 
42 OBJCOPY_ARGS=
43 ARM_PLUS_DSP_LIB= $(ARM_PLUS_DSP_LIB_DIR)/libcblas_armplusdsp.a
45 # OpenCL libraries included in make.inc
46 LIBS += -lpthread
48 # CBLAS and BLIS directories
49 CBLAS_DSP_LIB = ../../cblas/lib/C66/libcblas_C66.ae66 
50 BLIS_DSP_LIB  = ../../blis/install/c66x/lib/libblis.ae66
51 CBLAS_ARM_LIB = ../../cblas/lib/ARM/libcblas_ARM.a
53 OCL_BIN = ti_cblas_kernel.out
55 ifeq ($(TI_CBLAS_FAT_BINARY), 1)
56   CPP_FLAGS += -DTI_CBLAS_FAT_BINARY
57   OCL_BIN = ti_cblas_kernel.dsp_h
58 endif
61 ifneq ($(TI_CBLAS_OFFLOAD),)
62   CPP_FLAGS += -DTI_CBLAS_OFFLOAD=\"$(TI_CBLAS_OFFLOAD)\"
63 endif
65 OBJCOPY_ARGS += --redefine-sym=cblas_caxpy=__real_cblas_caxpy
66 OBJS += ti_cblas_cblas_caxpy.o
67 OBJCOPY_ARGS += --redefine-sym=cblas_ccopy=__real_cblas_ccopy
68 OBJS += ti_cblas_cblas_ccopy.o
69 OBJCOPY_ARGS += --redefine-sym=cblas_cdotc_sub=__real_cblas_cdotc_sub
70 OBJS += ti_cblas_cblas_cdotc_sub.o
71 OBJCOPY_ARGS += --redefine-sym=cblas_cdotu_sub=__real_cblas_cdotu_sub
72 OBJS += ti_cblas_cblas_cdotu_sub.o
73 OBJCOPY_ARGS += --redefine-sym=cblas_cgbmv=__real_cblas_cgbmv
74 OBJS += ti_cblas_cblas_cgbmv.o
75 OBJCOPY_ARGS += --redefine-sym=cblas_cgemm=__real_cblas_cgemm
76 OBJS += ti_cblas_cblas_cgemm.o
77 OBJCOPY_ARGS += --redefine-sym=cblas_cgemv=__real_cblas_cgemv
78 OBJS += ti_cblas_cblas_cgemv.o
79 OBJCOPY_ARGS += --redefine-sym=cblas_cgerc=__real_cblas_cgerc
80 OBJS += ti_cblas_cblas_cgerc.o
81 OBJCOPY_ARGS += --redefine-sym=cblas_cgeru=__real_cblas_cgeru
82 OBJS += ti_cblas_cblas_cgeru.o
83 OBJCOPY_ARGS += --redefine-sym=cblas_chbmv=__real_cblas_chbmv
84 OBJS += ti_cblas_cblas_chbmv.o
85 OBJCOPY_ARGS += --redefine-sym=cblas_chemm=__real_cblas_chemm
86 OBJS += ti_cblas_cblas_chemm.o
87 OBJCOPY_ARGS += --redefine-sym=cblas_chemv=__real_cblas_chemv
88 OBJS += ti_cblas_cblas_chemv.o
89 OBJCOPY_ARGS += --redefine-sym=cblas_cher=__real_cblas_cher
90 OBJS += ti_cblas_cblas_cher.o
91 OBJCOPY_ARGS += --redefine-sym=cblas_cher2=__real_cblas_cher2
92 OBJS += ti_cblas_cblas_cher2.o
93 OBJCOPY_ARGS += --redefine-sym=cblas_cher2k=__real_cblas_cher2k
94 OBJS += ti_cblas_cblas_cher2k.o
95 OBJCOPY_ARGS += --redefine-sym=cblas_cherk=__real_cblas_cherk
96 OBJS += ti_cblas_cblas_cherk.o
97 OBJCOPY_ARGS += --redefine-sym=cblas_chpmv=__real_cblas_chpmv
98 OBJS += ti_cblas_cblas_chpmv.o
99 OBJCOPY_ARGS += --redefine-sym=cblas_chpr=__real_cblas_chpr
100 OBJS += ti_cblas_cblas_chpr.o
101 OBJCOPY_ARGS += --redefine-sym=cblas_chpr2=__real_cblas_chpr2
102 OBJS += ti_cblas_cblas_chpr2.o
103 OBJCOPY_ARGS += --redefine-sym=cblas_cscal=__real_cblas_cscal
104 OBJS += ti_cblas_cblas_cscal.o
105 OBJCOPY_ARGS += --redefine-sym=cblas_csscal=__real_cblas_csscal
106 OBJS += ti_cblas_cblas_csscal.o
107 OBJCOPY_ARGS += --redefine-sym=cblas_cswap=__real_cblas_cswap
108 OBJS += ti_cblas_cblas_cswap.o
109 OBJCOPY_ARGS += --redefine-sym=cblas_csymm=__real_cblas_csymm
110 OBJS += ti_cblas_cblas_csymm.o
111 OBJCOPY_ARGS += --redefine-sym=cblas_csyr2k=__real_cblas_csyr2k
112 OBJS += ti_cblas_cblas_csyr2k.o
113 OBJCOPY_ARGS += --redefine-sym=cblas_csyrk=__real_cblas_csyrk
114 OBJS += ti_cblas_cblas_csyrk.o
115 OBJCOPY_ARGS += --redefine-sym=cblas_ctbmv=__real_cblas_ctbmv
116 OBJS += ti_cblas_cblas_ctbmv.o
117 OBJCOPY_ARGS += --redefine-sym=cblas_ctbsv=__real_cblas_ctbsv
118 OBJS += ti_cblas_cblas_ctbsv.o
119 OBJCOPY_ARGS += --redefine-sym=cblas_ctpmv=__real_cblas_ctpmv
120 OBJS += ti_cblas_cblas_ctpmv.o
121 OBJCOPY_ARGS += --redefine-sym=cblas_ctpsv=__real_cblas_ctpsv
122 OBJS += ti_cblas_cblas_ctpsv.o
123 OBJCOPY_ARGS += --redefine-sym=cblas_ctrmm=__real_cblas_ctrmm
124 OBJS += ti_cblas_cblas_ctrmm.o
125 OBJCOPY_ARGS += --redefine-sym=cblas_ctrmv=__real_cblas_ctrmv
126 OBJS += ti_cblas_cblas_ctrmv.o
127 OBJCOPY_ARGS += --redefine-sym=cblas_ctrsm=__real_cblas_ctrsm
128 OBJS += ti_cblas_cblas_ctrsm.o
129 OBJCOPY_ARGS += --redefine-sym=cblas_ctrsv=__real_cblas_ctrsv
130 OBJS += ti_cblas_cblas_ctrsv.o
131 OBJCOPY_ARGS += --redefine-sym=cblas_dasum=__real_cblas_dasum
132 OBJS += ti_cblas_cblas_dasum.o
133 OBJCOPY_ARGS += --redefine-sym=cblas_daxpy=__real_cblas_daxpy
134 OBJS += ti_cblas_cblas_daxpy.o
135 OBJCOPY_ARGS += --redefine-sym=cblas_dcopy=__real_cblas_dcopy
136 OBJS += ti_cblas_cblas_dcopy.o
137 OBJCOPY_ARGS += --redefine-sym=cblas_ddot=__real_cblas_ddot
138 OBJS += ti_cblas_cblas_ddot.o
139 OBJCOPY_ARGS += --redefine-sym=cblas_dgbmv=__real_cblas_dgbmv
140 OBJS += ti_cblas_cblas_dgbmv.o
141 OBJCOPY_ARGS += --redefine-sym=cblas_dgemm=__real_cblas_dgemm
142 OBJS += ti_cblas_cblas_dgemm.o
143 OBJCOPY_ARGS += --redefine-sym=cblas_dgemv=__real_cblas_dgemv
144 OBJS += ti_cblas_cblas_dgemv.o
145 OBJCOPY_ARGS += --redefine-sym=cblas_dger=__real_cblas_dger
146 OBJS += ti_cblas_cblas_dger.o
147 OBJCOPY_ARGS += --redefine-sym=cblas_dnrm2=__real_cblas_dnrm2
148 OBJS += ti_cblas_cblas_dnrm2.o
149 OBJCOPY_ARGS += --redefine-sym=cblas_drot=__real_cblas_drot
150 OBJS += ti_cblas_cblas_drot.o
151 OBJCOPY_ARGS += --redefine-sym=cblas_drotg=__real_cblas_drotg
152 OBJS += ti_cblas_cblas_drotg.o
153 OBJCOPY_ARGS += --redefine-sym=cblas_drotm=__real_cblas_drotm
154 OBJS += ti_cblas_cblas_drotm.o
155 OBJCOPY_ARGS += --redefine-sym=cblas_drotmg=__real_cblas_drotmg
156 OBJS += ti_cblas_cblas_drotmg.o
157 OBJCOPY_ARGS += --redefine-sym=cblas_dsbmv=__real_cblas_dsbmv
158 OBJS += ti_cblas_cblas_dsbmv.o
159 OBJCOPY_ARGS += --redefine-sym=cblas_dscal=__real_cblas_dscal
160 OBJS += ti_cblas_cblas_dscal.o
161 OBJCOPY_ARGS += --redefine-sym=cblas_dsdot=__real_cblas_dsdot
162 OBJS += ti_cblas_cblas_dsdot.o
163 OBJCOPY_ARGS += --redefine-sym=cblas_dspmv=__real_cblas_dspmv
164 OBJS += ti_cblas_cblas_dspmv.o
165 OBJCOPY_ARGS += --redefine-sym=cblas_dspr=__real_cblas_dspr
166 OBJS += ti_cblas_cblas_dspr.o
167 OBJCOPY_ARGS += --redefine-sym=cblas_dspr2=__real_cblas_dspr2
168 OBJS += ti_cblas_cblas_dspr2.o
169 OBJCOPY_ARGS += --redefine-sym=cblas_dswap=__real_cblas_dswap
170 OBJS += ti_cblas_cblas_dswap.o
171 OBJCOPY_ARGS += --redefine-sym=cblas_dsymm=__real_cblas_dsymm
172 OBJS += ti_cblas_cblas_dsymm.o
173 OBJCOPY_ARGS += --redefine-sym=cblas_dsymv=__real_cblas_dsymv
174 OBJS += ti_cblas_cblas_dsymv.o
175 OBJCOPY_ARGS += --redefine-sym=cblas_dsyr=__real_cblas_dsyr
176 OBJS += ti_cblas_cblas_dsyr.o
177 OBJCOPY_ARGS += --redefine-sym=cblas_dsyr2=__real_cblas_dsyr2
178 OBJS += ti_cblas_cblas_dsyr2.o
179 OBJCOPY_ARGS += --redefine-sym=cblas_dsyr2k=__real_cblas_dsyr2k
180 OBJS += ti_cblas_cblas_dsyr2k.o
181 OBJCOPY_ARGS += --redefine-sym=cblas_dsyrk=__real_cblas_dsyrk
182 OBJS += ti_cblas_cblas_dsyrk.o
183 OBJCOPY_ARGS += --redefine-sym=cblas_dtbmv=__real_cblas_dtbmv
184 OBJS += ti_cblas_cblas_dtbmv.o
185 OBJCOPY_ARGS += --redefine-sym=cblas_dtbsv=__real_cblas_dtbsv
186 OBJS += ti_cblas_cblas_dtbsv.o
187 OBJCOPY_ARGS += --redefine-sym=cblas_dtpmv=__real_cblas_dtpmv
188 OBJS += ti_cblas_cblas_dtpmv.o
189 OBJCOPY_ARGS += --redefine-sym=cblas_dtpsv=__real_cblas_dtpsv
190 OBJS += ti_cblas_cblas_dtpsv.o
191 OBJCOPY_ARGS += --redefine-sym=cblas_dtrmm=__real_cblas_dtrmm
192 OBJS += ti_cblas_cblas_dtrmm.o
193 OBJCOPY_ARGS += --redefine-sym=cblas_dtrmv=__real_cblas_dtrmv
194 OBJS += ti_cblas_cblas_dtrmv.o
195 OBJCOPY_ARGS += --redefine-sym=cblas_dtrsm=__real_cblas_dtrsm
196 OBJS += ti_cblas_cblas_dtrsm.o
197 OBJCOPY_ARGS += --redefine-sym=cblas_dtrsv=__real_cblas_dtrsv
198 OBJS += ti_cblas_cblas_dtrsv.o
199 OBJCOPY_ARGS += --redefine-sym=cblas_dzasum=__real_cblas_dzasum
200 OBJS += ti_cblas_cblas_dzasum.o
201 OBJCOPY_ARGS += --redefine-sym=cblas_dznrm2=__real_cblas_dznrm2
202 OBJS += ti_cblas_cblas_dznrm2.o
203 OBJCOPY_ARGS += --redefine-sym=cblas_xerbla=__real_cblas_xerbla
204 OBJS += ti_cblas_cblas_xerbla.o
205 OBJCOPY_ARGS += --redefine-sym=cblas_icamax=__real_cblas_icamax
206 OBJS += ti_cblas_cblas_icamax.o
207 OBJCOPY_ARGS += --redefine-sym=cblas_idamax=__real_cblas_idamax
208 OBJS += ti_cblas_cblas_idamax.o
209 OBJCOPY_ARGS += --redefine-sym=cblas_isamax=__real_cblas_isamax
210 OBJS += ti_cblas_cblas_isamax.o
211 OBJCOPY_ARGS += --redefine-sym=cblas_izamax=__real_cblas_izamax
212 OBJS += ti_cblas_cblas_izamax.o
213 OBJCOPY_ARGS += --redefine-sym=cblas_sasum=__real_cblas_sasum
214 OBJS += ti_cblas_cblas_sasum.o
215 OBJCOPY_ARGS += --redefine-sym=cblas_saxpy=__real_cblas_saxpy
216 OBJS += ti_cblas_cblas_saxpy.o
217 OBJCOPY_ARGS += --redefine-sym=cblas_scasum=__real_cblas_scasum
218 OBJS += ti_cblas_cblas_scasum.o
219 OBJCOPY_ARGS += --redefine-sym=cblas_scnrm2=__real_cblas_scnrm2
220 OBJS += ti_cblas_cblas_scnrm2.o
221 OBJCOPY_ARGS += --redefine-sym=cblas_scopy=__real_cblas_scopy
222 OBJS += ti_cblas_cblas_scopy.o
223 OBJCOPY_ARGS += --redefine-sym=cblas_sdot=__real_cblas_sdot
224 OBJS += ti_cblas_cblas_sdot.o
225 OBJCOPY_ARGS += --redefine-sym=cblas_sdsdot=__real_cblas_sdsdot
226 OBJS += ti_cblas_cblas_sdsdot.o
227 OBJCOPY_ARGS += --redefine-sym=cblas_sgbmv=__real_cblas_sgbmv
228 OBJS += ti_cblas_cblas_sgbmv.o
229 OBJCOPY_ARGS += --redefine-sym=cblas_sgemm=__real_cblas_sgemm
230 OBJS += ti_cblas_cblas_sgemm.o
231 OBJCOPY_ARGS += --redefine-sym=cblas_sgemv=__real_cblas_sgemv
232 OBJS += ti_cblas_cblas_sgemv.o
233 OBJCOPY_ARGS += --redefine-sym=cblas_sger=__real_cblas_sger
234 OBJS += ti_cblas_cblas_sger.o
235 OBJCOPY_ARGS += --redefine-sym=cblas_snrm2=__real_cblas_snrm2
236 OBJS += ti_cblas_cblas_snrm2.o
237 OBJCOPY_ARGS += --redefine-sym=cblas_srot=__real_cblas_srot
238 OBJS += ti_cblas_cblas_srot.o
239 OBJCOPY_ARGS += --redefine-sym=cblas_srotg=__real_cblas_srotg
240 OBJS += ti_cblas_cblas_srotg.o
241 OBJCOPY_ARGS += --redefine-sym=cblas_srotm=__real_cblas_srotm
242 OBJS += ti_cblas_cblas_srotm.o
243 OBJCOPY_ARGS += --redefine-sym=cblas_srotmg=__real_cblas_srotmg
244 OBJS += ti_cblas_cblas_srotmg.o
245 OBJCOPY_ARGS += --redefine-sym=cblas_ssbmv=__real_cblas_ssbmv
246 OBJS += ti_cblas_cblas_ssbmv.o
247 OBJCOPY_ARGS += --redefine-sym=cblas_sscal=__real_cblas_sscal
248 OBJS += ti_cblas_cblas_sscal.o
249 OBJCOPY_ARGS += --redefine-sym=cblas_sspmv=__real_cblas_sspmv
250 OBJS += ti_cblas_cblas_sspmv.o
251 OBJCOPY_ARGS += --redefine-sym=cblas_sspr=__real_cblas_sspr
252 OBJS += ti_cblas_cblas_sspr.o
253 OBJCOPY_ARGS += --redefine-sym=cblas_sspr2=__real_cblas_sspr2
254 OBJS += ti_cblas_cblas_sspr2.o
255 OBJCOPY_ARGS += --redefine-sym=cblas_sswap=__real_cblas_sswap
256 OBJS += ti_cblas_cblas_sswap.o
257 OBJCOPY_ARGS += --redefine-sym=cblas_ssymm=__real_cblas_ssymm
258 OBJS += ti_cblas_cblas_ssymm.o
259 OBJCOPY_ARGS += --redefine-sym=cblas_ssymv=__real_cblas_ssymv
260 OBJS += ti_cblas_cblas_ssymv.o
261 OBJCOPY_ARGS += --redefine-sym=cblas_ssyr=__real_cblas_ssyr
262 OBJS += ti_cblas_cblas_ssyr.o
263 OBJCOPY_ARGS += --redefine-sym=cblas_ssyr2=__real_cblas_ssyr2
264 OBJS += ti_cblas_cblas_ssyr2.o
265 OBJCOPY_ARGS += --redefine-sym=cblas_ssyr2k=__real_cblas_ssyr2k
266 OBJS += ti_cblas_cblas_ssyr2k.o
267 OBJCOPY_ARGS += --redefine-sym=cblas_ssyrk=__real_cblas_ssyrk
268 OBJS += ti_cblas_cblas_ssyrk.o
269 OBJCOPY_ARGS += --redefine-sym=cblas_stbmv=__real_cblas_stbmv
270 OBJS += ti_cblas_cblas_stbmv.o
271 OBJCOPY_ARGS += --redefine-sym=cblas_stbsv=__real_cblas_stbsv
272 OBJS += ti_cblas_cblas_stbsv.o
273 OBJCOPY_ARGS += --redefine-sym=cblas_stpmv=__real_cblas_stpmv
274 OBJS += ti_cblas_cblas_stpmv.o
275 OBJCOPY_ARGS += --redefine-sym=cblas_stpsv=__real_cblas_stpsv
276 OBJS += ti_cblas_cblas_stpsv.o
277 OBJCOPY_ARGS += --redefine-sym=cblas_strmm=__real_cblas_strmm
278 OBJS += ti_cblas_cblas_strmm.o
279 OBJCOPY_ARGS += --redefine-sym=cblas_strmv=__real_cblas_strmv
280 OBJS += ti_cblas_cblas_strmv.o
281 OBJCOPY_ARGS += --redefine-sym=cblas_strsm=__real_cblas_strsm
282 OBJS += ti_cblas_cblas_strsm.o
283 OBJCOPY_ARGS += --redefine-sym=cblas_strsv=__real_cblas_strsv
284 OBJS += ti_cblas_cblas_strsv.o
285 OBJCOPY_ARGS += --redefine-sym=cblas_zaxpy=__real_cblas_zaxpy
286 OBJS += ti_cblas_cblas_zaxpy.o
287 OBJCOPY_ARGS += --redefine-sym=cblas_zcopy=__real_cblas_zcopy
288 OBJS += ti_cblas_cblas_zcopy.o
289 OBJCOPY_ARGS += --redefine-sym=cblas_zdotc_sub=__real_cblas_zdotc_sub
290 OBJS += ti_cblas_cblas_zdotc_sub.o
291 OBJCOPY_ARGS += --redefine-sym=cblas_zdotu_sub=__real_cblas_zdotu_sub
292 OBJS += ti_cblas_cblas_zdotu_sub.o
293 OBJCOPY_ARGS += --redefine-sym=cblas_zdscal=__real_cblas_zdscal
294 OBJS += ti_cblas_cblas_zdscal.o
295 OBJCOPY_ARGS += --redefine-sym=cblas_zgbmv=__real_cblas_zgbmv
296 OBJS += ti_cblas_cblas_zgbmv.o
297 OBJCOPY_ARGS += --redefine-sym=cblas_zgemm=__real_cblas_zgemm
298 OBJS += ti_cblas_cblas_zgemm.o
299 OBJCOPY_ARGS += --redefine-sym=cblas_zgemv=__real_cblas_zgemv
300 OBJS += ti_cblas_cblas_zgemv.o
301 OBJCOPY_ARGS += --redefine-sym=cblas_zgerc=__real_cblas_zgerc
302 OBJS += ti_cblas_cblas_zgerc.o
303 OBJCOPY_ARGS += --redefine-sym=cblas_zgeru=__real_cblas_zgeru
304 OBJS += ti_cblas_cblas_zgeru.o
305 OBJCOPY_ARGS += --redefine-sym=cblas_zhbmv=__real_cblas_zhbmv
306 OBJS += ti_cblas_cblas_zhbmv.o
307 OBJCOPY_ARGS += --redefine-sym=cblas_zhemm=__real_cblas_zhemm
308 OBJS += ti_cblas_cblas_zhemm.o
309 OBJCOPY_ARGS += --redefine-sym=cblas_zhemv=__real_cblas_zhemv
310 OBJS += ti_cblas_cblas_zhemv.o
311 OBJCOPY_ARGS += --redefine-sym=cblas_zher=__real_cblas_zher
312 OBJS += ti_cblas_cblas_zher.o
313 OBJCOPY_ARGS += --redefine-sym=cblas_zher2=__real_cblas_zher2
314 OBJS += ti_cblas_cblas_zher2.o
315 OBJCOPY_ARGS += --redefine-sym=cblas_zher2k=__real_cblas_zher2k
316 OBJS += ti_cblas_cblas_zher2k.o
317 OBJCOPY_ARGS += --redefine-sym=cblas_zherk=__real_cblas_zherk
318 OBJS += ti_cblas_cblas_zherk.o
319 OBJCOPY_ARGS += --redefine-sym=cblas_zhpmv=__real_cblas_zhpmv
320 OBJS += ti_cblas_cblas_zhpmv.o
321 OBJCOPY_ARGS += --redefine-sym=cblas_zhpr=__real_cblas_zhpr
322 OBJS += ti_cblas_cblas_zhpr.o
323 OBJCOPY_ARGS += --redefine-sym=cblas_zhpr2=__real_cblas_zhpr2
324 OBJS += ti_cblas_cblas_zhpr2.o
325 OBJCOPY_ARGS += --redefine-sym=cblas_zscal=__real_cblas_zscal
326 OBJS += ti_cblas_cblas_zscal.o
327 OBJCOPY_ARGS += --redefine-sym=cblas_zswap=__real_cblas_zswap
328 OBJS += ti_cblas_cblas_zswap.o
329 OBJCOPY_ARGS += --redefine-sym=cblas_zsymm=__real_cblas_zsymm
330 OBJS += ti_cblas_cblas_zsymm.o
331 OBJCOPY_ARGS += --redefine-sym=cblas_zsyr2k=__real_cblas_zsyr2k
332 OBJS += ti_cblas_cblas_zsyr2k.o
333 OBJCOPY_ARGS += --redefine-sym=cblas_zsyrk=__real_cblas_zsyrk
334 OBJS += ti_cblas_cblas_zsyrk.o
335 OBJCOPY_ARGS += --redefine-sym=cblas_ztbmv=__real_cblas_ztbmv
336 OBJS += ti_cblas_cblas_ztbmv.o
337 OBJCOPY_ARGS += --redefine-sym=cblas_ztbsv=__real_cblas_ztbsv
338 OBJS += ti_cblas_cblas_ztbsv.o
339 OBJCOPY_ARGS += --redefine-sym=cblas_ztpmv=__real_cblas_ztpmv
340 OBJS += ti_cblas_cblas_ztpmv.o
341 OBJCOPY_ARGS += --redefine-sym=cblas_ztpsv=__real_cblas_ztpsv
342 OBJS += ti_cblas_cblas_ztpsv.o
343 OBJCOPY_ARGS += --redefine-sym=cblas_ztrmm=__real_cblas_ztrmm
344 OBJS += ti_cblas_cblas_ztrmm.o
345 OBJCOPY_ARGS += --redefine-sym=cblas_ztrmv=__real_cblas_ztrmv
346 OBJS += ti_cblas_cblas_ztrmv.o
347 OBJCOPY_ARGS += --redefine-sym=cblas_ztrsm=__real_cblas_ztrsm
348 OBJS += ti_cblas_cblas_ztrsm.o
349 OBJCOPY_ARGS += --redefine-sym=cblas_ztrsv=__real_cblas_ztrsv
350 OBJS += ti_cblas_cblas_ztrsv.o
351 OBJCOPY_ARGS += --redefine-sym=cblas_crotg=__real_cblas_crotg
352 OBJS += ti_cblas_cblas_crotg.o
353 OBJCOPY_ARGS += --redefine-sym=cblas_zrotg=__real_cblas_zrotg
354 OBJS += ti_cblas_cblas_zrotg.o
355 OBJS += ti_l3_offload.o
356 OBJS += ofld_tbl_cgemm.o
357 OBJS += ofld_tbl_dgemm.o
358 OBJS += ofld_tbl_sgemm.o
359 OBJS += ofld_tbl_zgemm.o
360 OBJS += ofld_tbl_csyrk.o
361 OBJS += ofld_tbl_dsyrk.o
362 OBJS += ofld_tbl_ssyrk.o
363 OBJS += ofld_tbl_zsyrk.o
364 OBJS += ofld_tbl_ctrmm.o
365 OBJS += ofld_tbl_dtrmm.o
366 OBJS += ofld_tbl_strmm.o
367 OBJS += ofld_tbl_ztrmm.o
368 OBJS += ofld_tbl_ctrsm.o
369 OBJS += ofld_tbl_dtrsm.o
370 OBJS += ofld_tbl_strsm.o
371 OBJS += ofld_tbl_ztrsm.o
374 all: armplusdsp
375 cross: armplusdsp
377 debug: CPP_FLAGS += -DTI_CBLAS_DEBUG $(CPP_DEBUG) #-DTI_CBLAS_PROFILE
378 debug: cross
380 profile: CPP_FLAGS += -DTI_CBLAS_PROFILE
381 profile: armplusdsp
383 armplusdsp: $(OCL_BIN) $(OBJS)
384         @echo; echo "Building hybrid ARM+DSP lib: $(ARM_PLUS_DSP_LIB)"
385         mkdir -p $(ARM_PLUS_DSP_LIB_DIR)
386         $(OBJCOPY) $(OBJCOPY_ARGS) $(CBLAS_ARM_LIB) $(ARM_PLUS_DSP_LIB)
387         $(AR) -cr $(ARM_PLUS_DSP_LIB) $(OBJS)
389 # if we have a fat binary header then the initfini file needs it
390 ti_cblas_initfini.o: $(OCL_BIN)
392 # target for fat binary
393 ti_cblas_kernel.dsp_h: ti_cblas_kernel.cl facade.obj $(CBLAS_DSP_LIB) $(BLIS_DSP_LIB)
394         @echo; echo Building $@
395         @rm -f ti_cblas_kernel.out
396         @echo Building fat binary header
397         clocl --txt -g $^ 
399 # target if fat binary not used
400 ti_cblas_kernel.out: ti_cblas_kernel.cl facade.obj $(CBLAS_DSP_LIB) $(BLIS_DSP_LIB)
401         @echo; echo Building $@
402         clocl $^ 
403         mkdir -p $(ARM_PLUS_DSP_LIB_DIR)
404         cp $(OCL_BIN) $(ARM_PLUS_DSP_LIB_DIR)/$(OCL_BIN)
406 clean::
407         @rm -f $(ARM_PLUS_DSP_LIB) $(OBJS) $(OCL_BIN) $(ARM_PLUS_DSP_LIB_DIR)/$(OCL_BIN)
408         @rm -rf /tmp/opencl*
410 cleanObj:
411         @rm -f $(OBJS) $(OCL_BIN)