c46d7e3a6bfa103f48dd4f9203b4ae7df64e3025
[ep-processor-libraries/dsplib.git] / ti / dsplib / package.bld
1 /******************************************************************************
2  * FILE PURPOSE: Build description for package ti.dsplib
3  ******************************************************************************
4  * FILE NAME: package.bld  
5  *
6  * DESCRIPTION: This file contains attributes to build and create releases for 
7  *              package ti.dsplib
8  * 
9  * TABS: NONE
10  *
11  * Copyright (C) 2010 Texas Instruments, Inc.
12  ******************************************************************************/
14   var Package=xdc.loadCapsule('ti/mas/swtools/CommonBld.xs');
15   
16   /* Global Variables */
17   Package.bundlename="dsplib";
19   Package.bundletype="kernel";
21   var doxygenstring= " docs/doxygen ";
23   /* Local Variables */
24   
25   var IncludeList=new Array();
26  
27   /* List names of directories */
28  //IncludeList=["DSP_fft16x16","DSP_fft16x32","DSP_fft32x32","DSPF_sp_fftSPxSP"];
29  //IncludeList=["DSP_fft16x16","DSP_fft16x32","DSP_fft32x32","DSPF_sp_fftSPxSP","DSP_fft16x16_imre","DSP_fft16x16r","DSP_fft32x32s","DSP_ifft16x16","DSP_ifft16x16_imre", "DSP_ifft16x32","DSP_ifft32x32"];
30  //IncludeList=["DSP_fft16x16","DSP_fft16x32","DSP_fft32x32","DSPF_sp_fftSPxSP", "DSPF_sp_cholesky", "DSPF_dp_cholesky"];
31  //IncludeList=["DSP_urand32","DSP_urand16","DSPF_sp_urand","DSPF_sp_erand", "DSPF_sp_nrand"]; 
32  //IncludeList=["DSP_fft16x16","DSP_fft16x32","DSP_fft32x32","DSPF_sp_fftSPxSP", "DSPF_sp_lud","DSPF_dp_lud","DSPF_sp_evd","DSPF_dp_evd","DSPF_sp_qrd","DSPF_dp_qrd","DSPF_sp_svd","DSPF_dp_svd"];
33  
34   /* Command line handling */
35   Package.args["knl"] = {
36     value:"knl",
37       action: function(value) {
38         IncludeList = new Array(value);
39       },
40     usageComment: "       Select a kernel to compile"
41   }
44  var ExcludeList=[
45                   {name:"DSPF_sp_cholesky_cmplx",srcDir:"c64P"},
46                   {name:"DSPF_dp_cholesky_cmplx",srcDir:"c64P"},
47                   {name:"DSPF_sp_lud_cmplx",srcDir:"c64P"},
48                   {name:"DSPF_dp_lud_cmplx",srcDir:"c64P"},
49                   {name:"DSPF_sp_lud_inv_cmplx",srcDir:"c64P"},
50                   {name:"DSPF_dp_lud_inv_cmplx",srcDir:"c64P"},
51                   {name:"DSPF_sp_lud_sol_cmplx",srcDir:"c64P"},
52                   {name:"DSPF_dp_lud_sol_cmplx",srcDir:"c64P"},
53                   {name:"DSPF_sp_qrd_cmplx",srcDir:"c64P"},
54                   {name:"DSPF_dp_qrd_cmplx",srcDir:"c64P"},
55                   {name:"DSPF_sp_svd_cmplx",srcDir:"c64P"},
56                   {name:"DSPF_dp_svd_cmplx",srcDir:"c64P"},                               
57                   {name:"DSPF_sp_lud",srcDir:"c64P"},
58                   {name:"DSPF_dp_lud",srcDir:"c64P"},
59                   {name:"DSPF_sp_lud_inv",srcDir:"c64P"},
60                   {name:"DSPF_dp_lud_inv",srcDir:"c64P"},
61                   {name:"DSPF_sp_lud_sol",srcDir:"c64P"},
62                   {name:"DSPF_dp_lud_sol",srcDir:"c64P"},
63                   {name:"DSPF_sp_qrd",srcDir:"c64P"},
64                   {name:"DSPF_dp_qrd",srcDir:"c64P"},
65                   {name:"DSPF_sp_svd",srcDir:"c64P"},
66                   {name:"DSPF_dp_svd",srcDir:"c64P"},
67                   {name:"DSP_urand32",srcDir:"c64P"},
68                   {name:"DSP_urand16",srcDir:"c64P"},
69                   {name:"DSPF_sp_urand",srcDir:"c64P"},
70                   {name:"DSPF_sp_nrand",srcDir:"c64P"},
71                   {name:"DSPF_sp_erand",srcDir:"c64P"},
72                   {name:"DSPF_sp_cholesky",srcDir:"c64P"},
73                   {name:"DSPF_dp_cholesky",srcDir:"c64P"},
74                   {name:"DSPF_sp_fftSPxSP",srcDir:"c64P"},
75                   {name:"DSPF_sp_ifftSPxSP",srcDir:"c64P"},
76                   {name:"DSPF_sp_fftSPxSP_r2c",srcDir:"c64P"},
77                   {name:"DSPF_sp_ifftSPxSP_c2r",srcDir:"c64P"},
78                   {name:"DSPF_sp_fir_cplx",srcDir:"c64P"},
79                   {name:"DSPF_sp_fir_gen",srcDir:"c64P"},
80                   {name:"DSPF_sp_fir_r2",srcDir:"c64P"},
81                   {name:"DSPF_sp_fircirc",srcDir:"c64P"},
82                   {name:"DSPF_sp_autocor",srcDir:"c64P"},
83                   {name:"DSPF_sp_biquad",srcDir:"c64P"},
84                   {name:"DSPF_sp_convol",srcDir:"c64P"},
85                   {name:"DSPF_sp_bitrev_cplx",srcDir:"c64P"},
86                   {name:"DSPF_sp_dotp_cplx",srcDir:"c64P"},
87                   {name:"DSPF_sp_dotprod",srcDir:"c64P"},
88                   {name:"DSPF_sp_lms",srcDir:"c64P"},
89                   {name:"DSPF_sp_iir",srcDir:"c64P"},
90                   {name:"DSPF_sp_mat_trans",srcDir:"c64P"},
91                   {name:"DSPF_sp_iirlat",srcDir:"c64P"},
92                   {name:"DSPF_sp_maxidx",srcDir:"c64P"},
93                   {name:"DSPF_sp_mat_mul",srcDir:"c64P"},
94                   {name:"DSPF_sp_maxval",srcDir:"c64P"},
95                   {name:"DSPF_sp_mat_mul_cplx",srcDir:"c64P"},
96                   {name:"DSPF_sp_minerr",srcDir:"c64P"},
97                   {name:"DSPF_sp_minval",srcDir:"c64P"},
98                   {name:"DSPF_sp_vecadd",srcDir:"c64P"},
99                   {name:"DSPF_sp_vecmul",srcDir:"c64P"},
100                   {name:"DSPF_sp_vecrecip",srcDir:"c64P"},
101                   {name:"DSPF_sp_vecsum_sq",srcDir:"c64P"},
102                   {name:"DSPF_sp_w_vec",srcDir:"c64P"},
103                   {name:"DSPF_blk_eswap16",srcDir:"c64P"},
104                   {name:"DSPF_blk_eswap32",srcDir:"c64P"},
105                   {name:"DSPF_blk_eswap64",srcDir:"c64P"},
106                   {name:"DSPF_fltoq15",srcDir:"c64P"},
107                   {name:"DSPF_q15tofl",srcDir:"c64P"},
108                   {name:"DSPF_sp_blk_move",srcDir:"c64P"},
109                   {name:"DSPF_sp_cfftr2_dit",srcDir:"c64P"},
110                   {name:"DSPF_sp_cfftr4_dif",srcDir:"c64P"},
111                   {name:"DSPF_sp_icfftr2_dif",srcDir:"c64P"},
112                   {name:"DSP_fir_r8_h8",srcDir:"c64P"},
113                   {name:"DSP_fir_r8_h16",srcDir:"c64P"},
114                   {name:"DSP_fir_r8_h24",srcDir:"c64P"},
115                   {name:"DSPF_dp_fftDPxDP",srcDir:"c64P"},
116                   {name:"DSPF_sp_mat_mul_gemm_cplx",srcDir:"c64P"},
117                   {name:"DSPF_sp_mat_trans_cplx",srcDir:"c64P"},
118                   {name:"DSPF_sp_mat_submat_copy_cplx",srcDir:"c64P"},
119                   {name:"DSPF_dp_ifftDPxDP",srcDir:"c64P"},
120                   {name:"DSPF_dp_mat_mul_gemm",srcDir:"c64P"},
121                   {name:"DSPF_sp_mat_submat_copy",srcDir:"c64P"},
122                   {name:"DSPF_sp_mat_mul_gemm",srcDir:"c64P"},
123                   {name:"DSPF_dp_mat_trans",srcDir:"c64P"},
124                   {name:"DSPF_dp_mat_submat_copy",srcDir:"c64P"},
126                   {name:"DSPF_blk_eswap16",srcDir:"c66"},
127                   {name:"DSPF_blk_eswap32",srcDir:"c66"},
128                   {name:"DSPF_blk_eswap64",srcDir:"c66"},
129                   {name:"DSPF_fltoq15",srcDir:"c66"},
130                   {name:"DSPF_q15tofl",srcDir:"c66"},
131                   {name:"DSPF_sp_blk_move",srcDir:"c66"},
132                   {name:"DSPF_sp_cfftr2_dit",srcDir:"c66"},
133                   {name:"DSPF_sp_cfftr4_dif",srcDir:"c66"},
134                   {name:"DSPF_sp_icfftr2_dif",srcDir:"c66"},
136                   {name:"DSPF_sp_cholesky_cmplx",srcDir:"c674"},
137                   {name:"DSPF_dp_cholesky_cmplx",srcDir:"c674"},
138                   {name:"DSPF_sp_lud_cmplx",srcDir:"c674"},
139                   {name:"DSPF_dp_lud_cmplx",srcDir:"c674"},
140                   {name:"DSPF_sp_lud_inv_cmplx",srcDir:"c674"},
141                   {name:"DSPF_dp_lud_inv_cmplx",srcDir:"c674"},
142                   {name:"DSPF_sp_lud_sol_cmplx",srcDir:"c674"},
143                   {name:"DSPF_dp_lud_sol_cmplx",srcDir:"c674"},
144                   {name:"DSPF_sp_qrd_cmplx",srcDir:"c674"},
145                   {name:"DSPF_dp_qrd_cmplx",srcDir:"c674"},
146                   {name:"DSPF_sp_svd_cmplx",srcDir:"c674"},
147                   {name:"DSPF_dp_svd_cmplx",srcDir:"c674"},
148                   {name:"DSPF_dp_lud",srcDir:"c674"}, 
149                   {name:"DSPF_sp_lud",srcDir:"c674"}, 
150                   {name:"DSPF_sp_lud_inv",srcDir:"c674"},
151                   {name:"DSPF_dp_lud_inv",srcDir:"c674"},
152                   {name:"DSPF_sp_lud_sol",srcDir:"c674"},
153                   {name:"DSPF_dp_lud_sol",srcDir:"c674"},
154                   {name:"DSPF_dp_qrd",srcDir:"c674"}, 
155                   {name:"DSPF_sp_qrd",srcDir:"c674"}, 
156                   {name:"DSPF_dp_svd",srcDir:"c674"}, 
157                   {name:"DSPF_sp_svd",srcDir:"c674"}, 
158                   {name:"DSP_urand32",srcDir:"c674"},
159                   {name:"DSP_urand16",srcDir:"c674"},
160                   {name:"DSPF_sp_urand",srcDir:"c674"},
161                   {name:"DSPF_sp_nrand",srcDir:"c674"},
162                   {name:"DSPF_sp_erand",srcDir:"c674"},
163                   {name:"DSPF_sp_cholesky",srcDir:"c674"},
164                   {name:"DSPF_dp_cholesky",srcDir:"c674"},
165                   {name:"DSPF_dp_fftDPxDP",srcDir:"c674"},
166                   {name:"DSPF_sp_fftSPxSP_r2c",srcDir:"c674"},
167                   {name:"DSPF_sp_ifftSPxSP_c2r",srcDir:"c674"},
168                   {name:"DSPF_sp_mat_trans_cplx",srcDir:"c674"},
169                   {name:"DSPF_sp_mat_submat_copy_cplx",srcDir:"c674"},
170                   {name:"DSPF_dp_ifftDPxDP",srcDir:"c674"},
171                   {name:"DSPF_dp_mat_mul_gemm",srcDir:"c674"},
172                   {name:"DSPF_sp_mat_submat_copy",srcDir:"c674"},
173                   {name:"DSPF_dp_mat_trans",srcDir:"c674"},
174                   {name:"DSPF_dp_mat_submat_copy",srcDir:"c674"},
175                   {name:"DSPF_sp_vecadd",srcDir:"c674"},
176                   {name:"DSP_add16",srcDir:"c674"},
177                   {name:"DSP_add32",srcDir:"c674"},
178                   {name:"DSP_autocor",srcDir:"c674"},
179                   {name:"DSP_bexp",srcDir:"c674"},
180                   {name:"DSP_blk_eswap16",srcDir:"c674"},
181                   {name:"DSP_blk_eswap32",srcDir:"c674"},
182                   {name:"DSP_blk_eswap64",srcDir:"c674"},
183                   {name:"DSP_blk_move",srcDir:"c674"},
184                   {name:"DSP_dotprod",srcDir:"c674"},
185                   {name:"DSP_dotp_sqr",srcDir:"c674"},
186                   {name:"DSP_fft16x16",srcDir:"c674"},
187                   {name:"DSP_fft16x16r",srcDir:"c674"},
188                   {name:"DSP_fft16x16_imre",srcDir:"c674"},
189                   {name:"DSP_fft16x32",srcDir:"c674"},
190                   {name:"DSP_fft32x32",srcDir:"c674"},
191                   {name:"DSP_fft32x32s",srcDir:"c674"},
192                   {name:"DSP_firlms2",srcDir:"c674"},
193                   {name:"DSP_fir_cplx",srcDir:"c674"},
194                   {name:"DSP_fir_cplx_hM4X4",srcDir:"c674"},
195                   {name:"DSP_fir_gen",srcDir:"c674"},
196                   {name:"DSP_fir_gen_hM17_rA8X8",srcDir:"c674"},
197                   {name:"DSP_fir_r4",srcDir:"c674"},
198                   {name:"DSP_fir_r8",srcDir:"c674"},
199                   {name:"DSP_fir_r8_hM16_rM8A8X8",srcDir:"c674"},
200                   {name:"DSP_fir_sym",srcDir:"c674"},
201                   {name:"DSP_fltoq15",srcDir:"c674"},
202                   {name:"DSP_ifft16x16",srcDir:"c674"},
203                   {name:"DSP_ifft16x16_imre",srcDir:"c674"},
204                   {name:"DSP_ifft16x32",srcDir:"c674"},
205                   {name:"DSP_ifft32x32",srcDir:"c674"},
206                   {name:"DSP_iir",srcDir:"c674"},
207                   {name:"DSP_iir_lat",srcDir:"c674"},
208                   {name:"DSP_iir_ss",srcDir:"c674"},
209                   {name:"DSP_mat_mul",srcDir:"c674"},
210                   {name:"DSP_mat_mul_cplx",srcDir:"c674"},
211                   {name:"DSP_mat_trans",srcDir:"c674"},
212                   {name:"DSP_maxidx",srcDir:"c674"},
213                   {name:"DSP_maxval",srcDir:"c674"},
214                   {name:"DSP_minerror",srcDir:"c674"},
215                   {name:"DSP_minval",srcDir:"c674"},
216                   {name:"DSP_mul32",srcDir:"c674"},
217                   {name:"DSP_neg32",srcDir:"c674"},
218                   {name:"DSP_q15tofl",srcDir:"c674"},
219                   {name:"DSP_recip16",srcDir:"c674"},
220                   {name:"DSP_vecsumsq",srcDir:"c674"},
221                   {name:"DSP_w_vec",srcDir:"c674"}]
224 var TIREX_TARGET;
226   for (var k = 0; k < arguments.length; k++)
227   {
228    switch (arguments[k])
229    {
230     case "c66x":
231       TIREX_TARGET  = "C66X";
232       break;
233     case "c674x":
234       TIREX_TARGET  = "C674X";
235       break;
236     case "c64Px":
237       TIREX_TARGET  = "C64PX";
238       break;
239    }
240   }
241   
242 var SpecialList=[]
244 Package.archiveFiles["CommonArchiveFiles"] = {
245     files: [
246             "docs/manifest/Software_Manifest.html",
247             "docs/bundle/manifest/doxyfile.xdt",
248             "docs/bundle/doxygen/doxyfile.xdt",
249             "docs/manifest/manifest.xml.xdt",
250             "setenv.bat",
251             "setxdcpath.js",
252           ]
253   };
255   Package.archiveFiles["headers"] = {
256     base_directory: "./src/",
257     files: [
258       "DSPF_sp_minerr/c66/DSPF_sp_minerr_cn.h",
259       "DSPF_sp_minerr/c66/DSPF_sp_minerr.h",
260       "DSPF_sp_minerr/DSPF_sp_minerr.h",
261       "DSPF_sp_minerr/c674/DSPF_sp_minerr_cn.h",
262       "DSPF_sp_minerr/c674/DSPF_sp_minerr.h",
263       "DSPF_sp_mat_mul/c66/DSPF_sp_mat_mul.h",
264       "DSPF_sp_mat_mul/c66/DSPF_sp_mat_mul_cn.h",
265       "DSPF_sp_mat_mul/DSPF_sp_mat_mul.h",
266       "DSPF_sp_mat_mul/c674/DSPF_sp_mat_mul.h",
267       "DSPF_sp_mat_mul/c674/DSPF_sp_mat_mul_cn.h",
268       "DSP_ifft16x16_imre/c66/DSP_ifft16x16_imre.h",
269       "DSP_ifft16x16_imre/c66/DSP_ifft16x16_imre_cn.h",
270       "DSP_ifft16x16_imre/c66/gen_twiddle_ifft16x16_imre.h",
271       "DSP_ifft16x16_imre/DSP_ifft16x16_imre.h",
272       "DSP_ifft16x16_imre/c64P/DSP_ifft16x16_imre.h",
273       "DSP_ifft16x16_imre/c64P/DSP_ifft16x16_imre_cn.h",
274       "DSP_ifft16x16_imre/c64P/gen_twiddle_ifft16x16_imre.h",
275       "DSP_ifft16x16_imre/c64P/DSP_ifft16x16_imre_i.h",
276       "DSP_maxidx/c66/DSP_maxidx.h",
277       "DSP_maxidx/c66/DSP_maxidx_cn.h",
278       "DSP_maxidx/DSP_maxidx.h",
279       "DSP_maxidx/c64P/DSP_maxidx.h",
280       "DSP_maxidx/c64P/DSP_maxidx_cn.h",
281       "DSP_iir_lat/c66/DSP_iir_lat_cn.h",
282       "DSP_iir_lat/c66/DSP_iir_lat.h",
283       "DSP_iir_lat/DSP_iir_lat.h",
284       "DSP_iir_lat/c64P/DSP_iir_lat_cn.h",
285       "DSP_iir_lat/c64P/DSP_iir_lat.h",
286       "DSP_fft16x32/c66/DSP_fft16x32.h",
287       "DSP_fft16x32/c66/gen_twiddle_fft16x32.h",
288       "DSP_fft16x32/c66/DSP_fft16x32_cn.h",
289       "DSP_fft16x32/DSP_fft16x32.h",
290       "DSP_fft16x32/c64P/DSP_fft16x32.h",
291       "DSP_fft16x32/c64P/gen_twiddle_fft16x32.h",
292       "DSP_fft16x32/c64P/DSP_fft16x32_i.h",
293       "DSP_fft16x32/c64P/DSP_fft16x32_cn.h",
294       "DSPF_dp_lud_inv/c66/DSPF_dp_lud_inv.h",
295       "DSPF_dp_lud_inv/c66/DSPF_dp_lud_inv_cn.h",
296       "DSPF_dp_lud_inv/DSPF_dp_lud_inv.h",
297       "DSP_neg32/c66/DSP_neg32_cn.h",
298       "DSP_neg32/c66/DSP_neg32.h",
299       "DSP_neg32/c64P/DSP_neg32_cn.h",
300       "DSP_neg32/c64P/DSP_neg32.h",
301       "DSP_neg32/DSP_neg32.h",
302       "DSPF_sp_iirlat/c66/DSPF_sp_iirlat.h",
303       "DSPF_sp_iirlat/c66/DSPF_sp_iirlat_cn.h",
304       "DSPF_sp_iirlat/c674/DSPF_sp_iirlat.h",
305       "DSPF_sp_iirlat/c674/DSPF_sp_iirlat_cn.h",
306       "DSPF_sp_iirlat/DSPF_sp_iirlat.h",
307       "DSP_recip16/c66/DSP_recip16.h",
308       "DSP_recip16/c66/DSP_recip16_cn.h",
309       "DSP_recip16/DSP_recip16.h",
310       "DSP_recip16/c64P/DSP_recip16.h",
311       "DSP_recip16/c64P/DSP_recip16_cn.h",
312       "DSPF_dp_cholesky_cmplx/c66/DSPF_dp_cholesky_cmplx_cn.h",
313       "DSPF_dp_cholesky_cmplx/c66/DSPF_dp_cholesky_cmplx.h",
314       "DSPF_dp_cholesky_cmplx/DSPF_dp_cholesky_cmplx.h",
315       "DSP_autocor/c66/DSP_autocor_cn.h",
316       "DSP_autocor/c66/DSP_autocor.h",
317       "DSP_autocor/c64P/DSP_autocor_cn.h",
318       "DSP_autocor/c64P/DSP_autocor.h",
319       "DSP_autocor/DSP_autocor.h",
320       "DSP_fft16x16_imre/c66/DSP_fft16x16_imre_cn.h",
321       "DSP_fft16x16_imre/c66/gen_twiddle_fft16x16_imre.h",
322       "DSP_fft16x16_imre/c66/DSP_fft16x16_imre.h",
323       "DSP_fft16x16_imre/c64P/DSP_fft16x16_imre_cn.h",
324       "DSP_fft16x16_imre/c64P/DSP_fft16x16_imre_i.h",
325       "DSP_fft16x16_imre/c64P/gen_twiddle_fft16x16_imre.h",
326       "DSP_fft16x16_imre/c64P/DSP_fft16x16_imre.h",
327       "DSP_fft16x16_imre/DSP_fft16x16_imre.h",
328       "DSP_mat_trans/c66/DSP_mat_trans_cn.h",
329       "DSP_mat_trans/c66/DSP_mat_trans.h",
330       "DSP_mat_trans/DSP_mat_trans.h",
331       "DSP_mat_trans/c64P/DSP_mat_trans_cn.h",
332       "DSP_mat_trans/c64P/DSP_mat_trans.h",
333       "DSP_maxval/c66/DSP_maxval_cn.h",
334       "DSP_maxval/c66/DSP_maxval.h",
335       "DSP_maxval/DSP_maxval.h",
336       "DSP_maxval/c64P/DSP_maxval_cn.h",
337       "DSP_maxval/c64P/DSP_maxval.h",
338       "DSPF_sp_vecsum_sq/c66/DSPF_sp_vecsum_sq_cn.h",
339       "DSPF_sp_vecsum_sq/c66/DSPF_sp_vecsum_sq.h",
340       "DSPF_sp_vecsum_sq/c674/DSPF_sp_vecsum_sq_cn.h",
341       "DSPF_sp_vecsum_sq/c674/DSPF_sp_vecsum_sq.h",
342       "DSPF_sp_vecsum_sq/DSPF_sp_vecsum_sq.h",
343       "DSPF_sp_vecmul/c66/DSPF_sp_vecmul_cn.h",
344       "DSPF_sp_vecmul/c66/DSPF_sp_vecmul.h",
345       "DSPF_sp_vecmul/c674/DSPF_sp_vecmul_cn.h",
346       "DSPF_sp_vecmul/c674/DSPF_sp_vecmul.h",
347       "DSPF_sp_vecmul/DSPF_sp_vecmul.h",
348       "DSPF_dp_mat_submat_copy/c66/DSPF_dp_mat_submat_copy.h",
349       "DSPF_dp_mat_submat_copy/c66/DSPF_dp_mat_submat_copy_cn.h",
350       "DSPF_dp_mat_submat_copy/DSPF_dp_mat_submat_copy.h",
351       "DSP_dotprod/c66/DSP_dotprod_cn.h",
352       "DSP_dotprod/c66/DSP_dotprod.h",
353       "DSP_dotprod/c64P/DSP_dotprod_cn.h",
354       "DSP_dotprod/c64P/DSP_dotprod.h",
355       "DSP_dotprod/DSP_dotprod.h",
356       "DSPF_sp_lud_inv_cmplx/c66/DSPF_sp_lud_inv_cmplx_cn.h",
357       "DSPF_sp_lud_inv_cmplx/c66/DSPF_sp_lud_inv_cmplx.h",
358       "DSPF_sp_lud_inv_cmplx/DSPF_sp_lud_inv_cmplx.h",
359       "DSPF_sp_lud/c66/DSPF_sp_lud.h",
360       "DSPF_sp_lud/c66/DSPF_sp_lud_cn.h",
361       "DSPF_sp_lud/DSPF_sp_lud.h",
362       "DSPF_sp_ifftSPxSP/c66/DSPF_sp_ifftSPxSP_cn.h",
363       "DSPF_sp_ifftSPxSP/c66/DSPF_sp_ifftSPxSP.h",
364       "DSPF_sp_ifftSPxSP/c66/DSPF_sp_ifftSPxSP_opt.h",
365       "DSPF_sp_ifftSPxSP/DSPF_sp_ifftSPxSP.h",
366       "DSPF_sp_ifftSPxSP/c674/DSPF_sp_ifftSPxSP_cn.h",
367       "DSPF_sp_ifftSPxSP/c674/DSPF_sp_ifftSPxSP.h",
368       "DSPF_dp_lud_sol/c66/DSPF_dp_lud_sol_cn.h",
369       "DSPF_dp_lud_sol/c66/DSPF_dp_lud_sol.h",
370       "DSPF_dp_lud_sol/DSPF_dp_lud_sol.h",
371       "DSPF_sp_w_vec/c66/DSPF_sp_w_vec.h",
372       "DSPF_sp_w_vec/c66/DSPF_sp_w_vec_cn.h",
373       "DSPF_sp_w_vec/DSPF_sp_w_vec.h",
374       "DSPF_sp_w_vec/c674/DSPF_sp_w_vec.h",
375       "DSPF_sp_w_vec/c674/DSPF_sp_w_vec_cn.h",
376       "DSPF_sp_svd/c66/DSPF_sp_svd_cn.h",
377       "DSPF_sp_svd/c66/DSPF_sp_svd.h",
378       "DSPF_sp_svd/DSPF_sp_svd.h",
379       "DSP_dotp_sqr/c66/DSP_dotp_sqr_cn.h",
380       "DSP_dotp_sqr/c66/DSP_dotp_sqr.h",
381       "DSP_dotp_sqr/DSP_dotp_sqr.h",
382       "DSP_dotp_sqr/c64P/DSP_dotp_sqr_cn.h",
383       "DSP_dotp_sqr/c64P/DSP_dotp_sqr.h",
384       "DSPF_dp_cholesky/c66/DSPF_dp_cholesky.h",
385       "DSPF_dp_cholesky/c66/DSPF_dp_cholesky_cn.h",
386       "DSPF_dp_cholesky/DSPF_dp_cholesky.h",
387       "DSP_blk_eswap64/c66/DSP_blk_eswap64.h",
388       "DSP_blk_eswap64/c66/DSP_blk_eswap64_cn.h",
389       "DSP_blk_eswap64/DSP_blk_eswap64.h",
390       "DSP_blk_eswap64/c64P/DSP_blk_eswap64.h",
391       "DSP_blk_eswap64/c64P/DSP_blk_eswap64_cn.h",
392       "DSP_ifft16x32/c66/DSP_ifft16x32_cn.h",
393       "DSP_ifft16x32/c66/DSP_ifft16x32.h",
394       "DSP_ifft16x32/c66/gen_twiddle_ifft16x32.h",
395       "DSP_ifft16x32/DSP_ifft16x32.h",
396       "DSP_ifft16x32/c64P/DSP_ifft16x32_i.h",
397       "DSP_ifft16x32/c64P/DSP_ifft16x32_cn.h",
398       "DSP_ifft16x32/c64P/DSP_ifft16x32.h",
399       "DSP_ifft16x32/c64P/gen_twiddle_fft16x32.h",
400       "DSP_fir_r8_h24/c66/DSP_fir_r8_h24.h",
401       "DSP_fir_r8_h24/c66/DSP_fir_r8_h24_cn.h",
402       "DSP_fir_r8_h24/c674/DSP_fir_r8_h24.h",
403       "DSP_fir_r8_h24/c674/DSP_fir_r8_h24_cn.h",
404       "DSP_fir_r8_h24/DSP_fir_r8_h24.h",
405       "DSPF_dp_qrd/c66/DSPF_dp_qrd.h",
406       "DSPF_dp_qrd/c66/DSPF_dp_qrd_cn.h",
407       "DSPF_dp_qrd/DSPF_dp_qrd.h",
408       "DSPF_sp_biquad/c66/DSPF_sp_biquad.h",
409       "DSPF_sp_biquad/c66/DSPF_sp_biquad_cn.h",
410       "DSPF_sp_biquad/DSPF_sp_biquad.h",
411       "DSPF_sp_biquad/c674/DSPF_sp_biquad.h",
412       "DSPF_sp_biquad/c674/DSPF_sp_biquad_cn.h",
413       "DSPF_sp_fir_gen/c66/DSPF_sp_fir_gen_cn.h",
414       "DSPF_sp_fir_gen/c66/DSPF_sp_fir_gen.h",
415       "DSPF_sp_fir_gen/c674/DSPF_sp_fir_gen_cn.h",
416       "DSPF_sp_fir_gen/c674/DSPF_sp_fir_gen.h",
417       "DSPF_sp_fir_gen/DSPF_sp_fir_gen.h",
418       "DSPF_sp_fftSPxSP_r2c/c66/DSPF_sp_fftSPxSP_r2c_cn.h",
419       "DSPF_sp_fftSPxSP_r2c/c66/DSPF_sp_fftSPxSP_r2c.h",
420       "DSPF_sp_fftSPxSP_r2c/DSPF_sp_fftSPxSP_r2c.h",
421       "DSP_ifft32x32/c66/DSP_ifft32x32.h",
422       "DSP_ifft32x32/c66/DSP_ifft32x32_cn.h",
423       "DSP_ifft32x32/c66/gen_twiddle_ifft32x32.h",
424       "DSP_ifft32x32/DSP_ifft32x32.h",
425       "DSP_ifft32x32/c64P/gen_twiddle_fft32x32.h",
426       "DSP_ifft32x32/c64P/DSP_ifft32x32.h",
427       "DSP_ifft32x32/c64P/DSP_ifft32x32_cn.h",
428       "DSP_ifft32x32/c64P/DSP_ifft32x32_i.h",
429       "DSPF_sp_erand/c66/DSPF_sp_erand_cn.h",
430       "DSPF_sp_erand/c66/DSPF_sp_erand.h",
431       "DSPF_sp_erand/DSPF_sp_erand.h",
432       "DSP_bexp/c66/DSP_bexp.h",
433       "DSP_bexp/c66/DSP_bexp_cn.h",
434       "DSP_bexp/DSP_bexp.h",
435       "DSP_bexp/c64P/DSP_bexp.h",
436       "DSP_bexp/c64P/DSP_bexp_cn.h",
437       "DSPF_sp_urand/c66/DSPF_sp_urand.h",
438       "DSPF_sp_urand/c66/DSPF_sp_urand_cn.h",
439       "DSPF_sp_urand/DSPF_sp_urand.h",
440       "DSP_fltoq15/c66/DSP_fltoq15.h",
441       "DSP_fltoq15/c66/DSP_fltoq15_cn.h",
442       "DSP_fltoq15/DSP_fltoq15.h",
443       "DSP_fltoq15/c64P/DSP_fltoq15.h",
444       "DSP_fltoq15/c64P/DSP_fltoq15_cn.h",
445       "DSP_urand16/c66/DSP_urand16.h",
446       "DSP_urand16/c66/DSP_urand16_cn.h",
447       "DSP_urand16/DSP_urand16.h",
448       "DSP_iir/c66/DSP_iir_cn.h",
449       "DSP_iir/c66/DSP_iir.h",
450       "DSP_iir/c64P/DSP_iir_cn.h",
451       "DSP_iir/c64P/DSP_iir.h",
452       "DSP_iir/DSP_iir.h",
453       "DSP_urand32/c66/DSP_urand32.h",
454       "DSP_urand32/c66/DSPF_sp_math_i.h",
455       "DSP_urand32/c66/DSP_urand32_cn.h",
456       "DSP_urand32/DSP_urand32.h",
457       "DSP_fft32x32s/c66/DSP_fft32x32s.h",
458       "DSP_fft32x32s/c66/DSP_fft32x32s_cn.h",
459       "DSP_fft32x32s/c66/gen_twiddle_fft32x32s.h",
460       "DSP_fft32x32s/DSP_fft32x32s.h",
461       "DSP_fft32x32s/c64P/gen_twiddle_fft32x32.h",
462       "DSP_fft32x32s/c64P/DSP_fft32x32s.h",
463       "DSP_fft32x32s/c64P/DSP_fft32x32s_i.h",
464       "DSP_fft32x32s/c64P/DSP_fft32x32s_cn.h",
465       "DSP_fir_r8_h8/c66/DSP_fir_r8_h8.h",
466       "DSP_fir_r8_h8/c66/DSP_fir_r8_h8_cn.h",
467       "DSP_fir_r8_h8/DSP_fir_r8_h8.h",
468       "DSP_fir_r8_h8/c674/DSP_fir_r8_h8.h",
469       "DSP_fir_r8_h8/c674/DSP_fir_r8_h8_cn.h",
470       "DSP_blk_eswap16/c66/DSP_blk_eswap16_cn.h",
471       "DSP_blk_eswap16/c66/DSP_blk_eswap16.h",
472       "DSP_blk_eswap16/DSP_blk_eswap16.h",
473       "DSP_blk_eswap16/c64P/DSP_blk_eswap16_cn.h",
474       "DSP_blk_eswap16/c64P/DSP_blk_eswap16.h",
475       "DSPF_sp_qrd_cmplx/c66/DSPF_sp_qrd_cmplx_cn.h",
476       "DSPF_sp_qrd_cmplx/c66/DSPF_sp_qrd_cmplx.h",
477       "DSPF_sp_qrd_cmplx/DSPF_sp_qrd_cmplx.h",
478       "DSPF_blk_eswap64/c674/DSPF_blk_eswap64_cn.h",
479       "DSPF_blk_eswap64/c674/DSPF_blk_eswap64.h",
480       "DSPF_blk_eswap64/DSPF_blk_eswap64.h",
481       "DSP_fir_sym/c66/DSP_fir_sym_cn.h",
482       "DSP_fir_sym/c66/DSP_fir_sym.h",
483       "DSP_fir_sym/DSP_fir_sym.h",
484       "DSP_fir_sym/c64P/DSP_fir_sym_cn.h",
485       "DSP_fir_sym/c64P/DSP_fir_sym.h",
486       "DSP_fir_r8_h16/c66/DSP_fir_r8_h16.h",
487       "DSP_fir_r8_h16/c66/DSP_fir_r8_h16_cn.h",
488       "DSP_fir_r8_h16/DSP_fir_r8_h16.h",
489       "DSP_fir_r8_h16/c674/DSP_fir_r8_h16.h",
490       "DSP_fir_r8_h16/c674/DSP_fir_r8_h16_cn.h",
491       "DSPF_sp_ifftSPxSP_c2r/c66/DSPF_sp_ifftSPxSP_c2r_cn.h",
492       "DSPF_sp_ifftSPxSP_c2r/c66/DSPF_sp_ifftSPxSP_c2r.h",
493       "DSPF_sp_ifftSPxSP_c2r/DSPF_sp_ifftSPxSP_c2r.h",
494       "DSPF_sp_lms/c66/DSPF_sp_lms_cn.h",
495       "DSPF_sp_lms/c66/DSPF_sp_lms.h",
496       "DSPF_sp_lms/DSPF_sp_lms.h",
497       "DSPF_sp_lms/c674/DSPF_sp_lms_cn.h",
498       "DSPF_sp_lms/c674/DSPF_sp_lms.h",
499       "DSPF_sp_vecrecip/c66/DSPF_sp_vecrecip.h",
500       "DSPF_sp_vecrecip/c66/DSPF_sp_vecrecip_cn.h",
501       "DSPF_sp_vecrecip/DSPF_sp_vecrecip.h",
502       "DSPF_sp_vecrecip/c674/DSPF_sp_vecrecip.h",
503       "DSPF_sp_vecrecip/c674/DSPF_sp_vecrecip_cn.h",
504       "DSPF_sp_dotprod/c66/DSPF_sp_dotprod_cn.h",
505       "DSPF_sp_dotprod/c66/DSPF_sp_dotprod.h",
506       "DSPF_sp_dotprod/DSPF_sp_dotprod.h",
507       "DSPF_sp_dotprod/c674/DSPF_sp_dotprod_cn.h",
508       "DSPF_sp_dotprod/c674/DSPF_sp_dotprod.h",
509       "DSPF_sp_bitrev_cplx/c66/DSPF_sp_bitrev_cplx.h",
510       "DSPF_sp_bitrev_cplx/c66/DSPF_sp_bitrev_cplx_cn.h",
511       "DSPF_sp_bitrev_cplx/DSPF_sp_bitrev_cplx.h",
512       "DSPF_sp_bitrev_cplx/c674/DSPF_sp_bitrev_cplx.h",
513       "DSPF_sp_bitrev_cplx/c674/DSPF_sp_bitrev_cplx_cn.h",
514       "DSPF_dp_svd/c66/DSPF_dp_svd_cn.h",
515       "DSPF_dp_svd/c66/DSPF_dp_svd.h",
516       "DSPF_dp_svd/DSPF_dp_svd.h",
517       "DSPF_dp_svd_cmplx/c66/DSPF_dp_svd_cmplx_cn.h",
518       "DSPF_dp_svd_cmplx/c66/DSPF_dp_svd_cmplx.h",
519       "DSPF_dp_svd_cmplx/DSPF_dp_svd_cmplx.h",
520       "DSPF_dp_lud_sol_cmplx/c66/DSPF_dp_lud_sol_cmplx.h",
521       "DSPF_dp_lud_sol_cmplx/c66/DSPF_dp_lud_sol_cmplx_cn.h",
522       "DSPF_dp_lud_sol_cmplx/DSPF_dp_lud_sol_cmplx.h",
523       "DSPF_sp_minval/c66/DSPF_sp_minval.h",
524       "DSPF_sp_minval/c66/DSPF_sp_minval_cn.h",
525       "DSPF_sp_minval/DSPF_sp_minval.h",
526       "DSPF_sp_minval/c674/DSPF_sp_minval.h",
527       "DSPF_sp_minval/c674/DSPF_sp_minval_cn.h",
528       "DSP_iir_ss/c66/DSP_iir_ss_cn.h",
529       "DSP_iir_ss/c66/DSP_iir_ss.h",
530       "DSP_iir_ss/DSP_iir_ss.h",
531       "DSP_iir_ss/c64P/DSP_iir_ss_cn.h",
532       "DSP_iir_ss/c64P/DSP_iir_ss.h",
533       "DSPF_sp_cholesky_cmplx/c66/DSPF_sp_cholesky_cmplx.h",
534       "DSPF_sp_cholesky_cmplx/c66/DSPF_sp_cholesky_cmplx_cn.h",
535       "DSPF_sp_cholesky_cmplx/DSPF_sp_cholesky_cmplx.h",
536       "DSPF_sp_mat_mul_cplx/c66/DSPF_sp_mat_mul_cplx_cn.h",
537       "DSPF_sp_mat_mul_cplx/c66/DSPF_sp_mat_mul_cplx.h",
538       "DSPF_sp_mat_mul_cplx/DSPF_sp_mat_mul_cplx.h",
539       "DSPF_sp_mat_mul_cplx/c674/DSPF_sp_mat_mul_cplx_cn.h",
540       "DSPF_sp_mat_mul_cplx/c674/DSPF_sp_mat_mul_cplx.h",
541       "DSP_fir_gen_hM17_rA8X8/c66/DSP_fir_gen_hM17_rA8X8.h",
542       "DSP_fir_gen_hM17_rA8X8/c66/DSP_fir_gen_hM17_rA8X8_cn.h",
543       "DSP_fir_gen_hM17_rA8X8/DSP_fir_gen_hM17_rA8X8.h",
544       "DSP_fir_gen_hM17_rA8X8/c64P/DSP_fir_gen_hM17_rA8X8.h",
545       "DSP_fir_gen_hM17_rA8X8/c64P/DSP_fir_gen_hM17_rA8X8_cn.h",
546       "DSPF_sp_convol/c66/DSPF_sp_convol_cn.h",
547       "DSPF_sp_convol/c66/DSPF_sp_convol.h",
548       "DSPF_sp_convol/c674/DSPF_sp_convol_cn.h",
549       "DSPF_sp_convol/c674/DSPF_sp_convol.h",
550       "DSPF_sp_convol/DSPF_sp_convol.h",
551       "DSPF_sp_cfftr2_dit/c674/DSPF_sp_cfftr2_dit_cn.h",
552       "DSPF_sp_cfftr2_dit/c674/DSPF_sp_cfftr2_dit.h",
553       "DSPF_sp_cfftr2_dit/DSPF_sp_cfftr2_dit.h",
554       "DSP_fft16x16/c66/gen_twiddle_fft16x16.h",
555       "DSP_fft16x16/c66/DSP_fft16x16_cn.h",
556       "DSP_fft16x16/c66/DSP_fft16x16.h",
557       "DSP_fft16x16/DSP_fft16x16.h",
558       "DSP_fft16x16/c64P/gen_twiddle_fft16x16.h",
559       "DSP_fft16x16/c64P/DSP_fft16x16_i.h",
560       "DSP_fft16x16/c64P/DSP_fft16x16_cn.h",
561       "DSP_fft16x16/c64P/DSP_fft16x16.h",
562       "DSPF_blk_eswap32/DSPF_blk_eswap32.h",
563       "DSPF_blk_eswap32/c674/DSPF_blk_eswap32.h",
564       "DSPF_blk_eswap32/c674/DSPF_blk_eswap32_cn.h",
565       "DSPF_sp_vecadd/c66/DSPF_sp_vecadd.h",
566       "DSPF_sp_vecadd/c66/DSPF_sp_vecadd_cn.h",
567       "DSPF_sp_vecadd/DSPF_sp_vecadd.h",
568       "DSP_minerror/c66/DSP_minerror.h",
569       "DSP_minerror/c66/DSP_minerror_cn.h",
570       "DSP_minerror/DSP_minerror.h",
571       "DSP_minerror/c64P/DSP_minerror.h",
572       "DSP_minerror/c64P/DSP_minerror_cn.h",
573       "DSPF_sp_mat_submat_copy/c66/DSPF_sp_mat_submat_copy_cn.h",
574       "DSPF_sp_mat_submat_copy/c66/DSPF_sp_mat_submat_copy.h",
575       "DSPF_sp_mat_submat_copy/DSPF_sp_mat_submat_copy.h",
576       "DSPF_sp_fir_cplx/c66/DSPF_sp_fir_cplx.h",
577       "DSPF_sp_fir_cplx/c66/DSPF_sp_fir_cplx_cn.h",
578       "DSPF_sp_fir_cplx/c674/DSPF_sp_fir_cplx.h",
579       "DSPF_sp_fir_cplx/c674/DSPF_sp_fir_cplx_cn.h",
580       "DSPF_sp_fir_cplx/DSPF_sp_fir_cplx.h",
581       "DSPF_sp_dotp_cplx/c66/DSPF_sp_dotp_cplx_cn.h",
582       "DSPF_sp_dotp_cplx/c66/DSPF_sp_dotp_cplx.h",
583       "DSPF_sp_dotp_cplx/DSPF_sp_dotp_cplx.h",
584       "DSPF_sp_dotp_cplx/c674/DSPF_sp_dotp_cplx_cn.h",
585       "DSPF_sp_dotp_cplx/c674/DSPF_sp_dotp_cplx.h",
586       "DSPF_sp_cholesky/c66/DSPF_sp_cholesky_cn.h",
587       "DSPF_sp_cholesky/c66/DSPF_sp_cholesky.h",
588       "DSPF_sp_cholesky/DSPF_sp_cholesky.h",
589       "DSPF_dp_ifftDPxDP/c66/DSPF_dp_ifftDPxDP_cn.h",
590       "DSPF_dp_ifftDPxDP/c66/DSPF_dp_ifftDPxDP.h",
591       "DSPF_dp_ifftDPxDP/DSPF_dp_ifftDPxDP.h",
592       "DSPF_dp_lud_cmplx/c66/DSPF_dp_lud_cmplx.h",
593       "DSPF_dp_lud_cmplx/c66/DSPF_dp_lud_cmplx_cn.h",
594       "DSPF_dp_lud_cmplx/DSPF_dp_lud_cmplx.h",
595       "DSP_mat_mul_cplx/c66/DSP_mat_mul_cplx.h",
596       "DSP_mat_mul_cplx/c66/DSP_mat_mul_cplx_cn.h",
597       "DSP_mat_mul_cplx/DSP_mat_mul_cplx.h",
598       "DSP_mat_mul_cplx/c64P/DSP_mat_mul_cplx.h",
599       "DSP_mat_mul_cplx/c64P/DSP_mat_mul_cplx_cn.h",
600       "DSP_mul32/c66/DSP_mul32.h",
601       "DSP_mul32/c66/DSP_mul32_cn.h",
602       "DSP_mul32/DSP_mul32.h",
603       "DSP_mul32/c64P/DSP_mul32.h",
604       "DSP_mul32/c64P/DSP_mul32_cn.h",
605       "DSPF_sp_fircirc/c66/DSPF_sp_fircirc.h",
606       "DSPF_sp_fircirc/c66/DSPF_sp_fircirc_cn.h",
607       "DSPF_sp_fircirc/DSPF_sp_fircirc.h",
608       "DSPF_sp_fircirc/c674/DSPF_sp_fircirc.h",
609       "DSPF_sp_fircirc/c674/DSPF_sp_fircirc_cn.h",
610       "DSP_fir_r4/c66/DSP_fir_r4.h",
611       "DSP_fir_r4/c66/DSP_fir_r4_cn.h",
612       "DSP_fir_r4/DSP_fir_r4.h",
613       "DSP_fir_r4/c64P/DSP_fir_r4.h",
614       "DSP_fir_r4/c64P/DSP_fir_r4_cn.h",
615       "DSPF_sp_svd_cmplx/c66/DSPF_sp_svd_cmplx_cn.h",
616       "DSPF_sp_svd_cmplx/c66/DSPF_sp_svd_cmplx.h",
617       "DSPF_sp_svd_cmplx/DSPF_sp_svd_cmplx.h",
618       "DSPF_sp_cfftr4_dif/DSPF_sp_cfftr4_dif.h",
619       "DSPF_sp_cfftr4_dif/c674/DSPF_sp_cfftr4_dif.h",
620       "DSPF_sp_cfftr4_dif/c674/DSPF_sp_cfftr4_dif_cn.h",
621       "DSP_fir_r8/c66/DSP_fir_r8_cn.h",
622       "DSP_fir_r8/c66/DSP_fir_r8.h",
623       "DSP_fir_r8/DSP_fir_r8.h",
624       "DSP_fir_r8/c64P/DSP_fir_r8_cn.h",
625       "DSP_fir_r8/c64P/DSP_fir_r8.h",
626       "DSPF_sp_lud_sol_cmplx/c66/DSPF_sp_lud_sol_cmplx.h",
627       "DSPF_sp_lud_sol_cmplx/c66/DSPF_sp_lud_sol_cmplx_cn.h",
628       "DSPF_sp_lud_sol_cmplx/DSPF_sp_lud_sol_cmplx.h",
629       "DSPF_sp_mat_trans_cplx/c66/DSPF_sp_mat_trans_cplx_cn.h",
630       "DSPF_sp_mat_trans_cplx/c66/DSPF_sp_mat_trans_cplx.h",
631       "DSPF_sp_mat_trans_cplx/DSPF_sp_mat_trans_cplx.h",
632       "DSPF_dp_fftDPxDP/c66/DSPF_dp_fftDPxDP_cn.h",
633       "DSPF_dp_fftDPxDP/c66/DSPF_dp_fftDPxDP.h",
634       "DSPF_dp_fftDPxDP/DSPF_dp_fftDPxDP.h",
635       "DSP_q15tofl/c66/DSP_q15tofl_cn.h",
636       "DSP_q15tofl/c66/DSP_q15tofl.h",
637       "DSP_q15tofl/DSP_q15tofl.h",
638       "DSP_q15tofl/c64P/DSP_q15tofl_cn.h",
639       "DSP_q15tofl/c64P/DSP_q15tofl.h",
640       "DSPF_dp_mat_mul_gemm/c66/DSPF_dp_mat_mul_gemm.h",
641       "DSPF_dp_mat_mul_gemm/c66/DSPF_dp_mat_mul_gemm_cn.h",
642       "DSPF_dp_mat_mul_gemm/DSPF_dp_mat_mul_gemm.h",
643       "DSPF_fltoq15/DSPF_fltoq15.h",
644       "DSPF_fltoq15/c674/DSPF_fltoq15_cn.h",
645       "DSPF_fltoq15/c674/DSPF_fltoq15.h",
646       "DSP_vecsumsq/c66/DSP_vecsumsq_cn.h",
647       "DSP_vecsumsq/c66/DSP_vecsumsq.h",
648       "DSP_vecsumsq/DSP_vecsumsq.h",
649       "DSP_vecsumsq/c64P/DSP_vecsumsq_cn.h",
650       "DSP_vecsumsq/c64P/DSP_vecsumsq.h",
651       "DSPF_dp_mat_trans/c66/DSPF_dp_mat_trans.h",
652       "DSPF_dp_mat_trans/c66/DSPF_dp_mat_trans_cn.h",
653       "DSPF_dp_mat_trans/DSPF_dp_mat_trans.h",
654       "DSPF_sp_lud_cmplx/c66/DSPF_sp_lud_cmplx.h",
655       "DSPF_sp_lud_cmplx/c66/DSPF_sp_lud_cmplx_cn.h",
656       "DSPF_sp_lud_cmplx/DSPF_sp_lud_cmplx.h",
657       "DSPF_sp_autocor/c66/DSPF_sp_autocor.h",
658       "DSPF_sp_autocor/c66/DSPF_sp_autocor_cn.h",
659       "DSPF_sp_autocor/c674/DSPF_sp_autocor.h",
660       "DSPF_sp_autocor/c674/DSPF_sp_autocor_cn.h",
661       "DSPF_sp_autocor/DSPF_sp_autocor.h",
662       "DSPF_sp_mat_mul_gemm/c66/DSPF_sp_mat_mul_gemm_cn.h",
663       "DSPF_sp_mat_mul_gemm/c66/DSPF_sp_mat_mul_gemm.h",
664       "DSPF_sp_mat_mul_gemm/c674/DSPF_sp_mat_mul_gemm_cn.h",
665       "DSPF_sp_mat_mul_gemm/c674/DSPF_sp_mat_mul_gemm.h",
666       "DSPF_sp_mat_mul_gemm/DSPF_sp_mat_mul_gemm.h",
667       "DSPF_sp_iir/c66/DSPF_sp_iir_cn.h",
668       "DSPF_sp_iir/c66/DSPF_sp_iir.h",
669       "DSPF_sp_iir/c674/DSPF_sp_iir_cn.h",
670       "DSPF_sp_iir/c674/DSPF_sp_iir.h",
671       "DSPF_sp_iir/DSPF_sp_iir.h",
672       "DSP_fir_cplx/c66/DSP_fir_cplx.h",
673       "DSP_fir_cplx/c66/DSP_fir_cplx_cn.h",
674       "DSP_fir_cplx/DSP_fir_cplx.h",
675       "DSP_fir_cplx/c64P/DSP_fir_cplx.h",
676       "DSP_fir_cplx/c64P/DSP_fir_cplx_cn.h",
677       "DSP_blk_eswap32/c66/DSP_blk_eswap32_cn.h",
678       "DSP_blk_eswap32/c66/DSP_blk_eswap32.h",
679       "DSP_blk_eswap32/DSP_blk_eswap32.h",
680       "DSP_blk_eswap32/c64P/DSP_blk_eswap32_cn.h",
681       "DSP_blk_eswap32/c64P/DSP_blk_eswap32.h",
682       "DSPF_sp_blk_move/DSPF_sp_blk_move.h",
683       "DSPF_sp_blk_move/c674/DSPF_sp_blk_move.h",
684       "DSPF_sp_blk_move/c674/DSPF_sp_blk_move_cn.h",
685       "DSP_add16/c66/DSP_add16_cn.h",
686       "DSP_add16/c66/DSP_add16.h",
687       "DSP_add16/DSP_add16.h",
688       "DSP_add16/c64P/DSP_add16_cn.h",
689       "DSP_add16/c64P/DSP_add16.h",
690       "DSPF_sp_mat_submat_copy_cplx/c66/DSPF_sp_mat_submat_copy_cplx_cn.h",
691       "DSPF_sp_mat_submat_copy_cplx/c66/DSPF_sp_mat_submat_copy_cplx.h",
692       "DSPF_sp_mat_submat_copy_cplx/DSPF_sp_mat_submat_copy_cplx.h",
693       "DSPF_q15tofl/c674/DSPF_q15tofl_cn.h",
694       "DSPF_q15tofl/c674/DSPF_q15tofl.h",
695       "DSPF_q15tofl/DSPF_q15tofl.h",
696       "DSPF_sp_lud_sol/c66/DSPF_sp_lud_sol.h",
697       "DSPF_sp_lud_sol/c66/DSPF_sp_lud_sol_cn.h",
698       "DSPF_sp_lud_sol/DSPF_sp_lud_sol.h",
699       "DSP_fir_r8_hM16_rM8A8X8/c66/DSP_fir_r8_hM16_rM8A8X8_cn.h",
700       "DSP_fir_r8_hM16_rM8A8X8/c66/DSP_fir_r8_hM16_rM8A8X8.h",
701       "DSP_fir_r8_hM16_rM8A8X8/DSP_fir_r8_hM16_rM8A8X8.h",
702       "DSP_fir_r8_hM16_rM8A8X8/c64P/DSP_fir_r8_hM16_rM8A8X8_cn.h",
703       "DSP_fir_r8_hM16_rM8A8X8/c64P/DSP_fir_r8_hM16_rM8A8X8.h",
704       "DSP_ifft16x16/c66/DSP_ifft16x16_cn.h",
705       "DSP_ifft16x16/c66/DSP_ifft16x16.h",
706       "DSP_ifft16x16/c66/gen_twiddle_ifft16x16.h",
707       "DSP_ifft16x16/DSP_ifft16x16.h",
708       "DSP_ifft16x16/c64P/DSP_ifft16x16_cn.h",
709       "DSP_ifft16x16/c64P/DSP_ifft16x16.h",
710       "DSP_ifft16x16/c64P/DSP_ifft16x16_i.h",
711       "DSP_ifft16x16/c64P/gen_twiddle_ifft16x16.h",
712       "DSP_fft32x32/c66/DSP_fft32x32_cn.h",
713       "DSP_fft32x32/c66/gen_twiddle_fft32x32.h",
714       "DSP_fft32x32/c66/DSP_fft32x32.h",
715       "DSP_fft32x32/DSP_fft32x32.h",
716       "DSP_fft32x32/c64P/DSP_fft32x32_cn.h",
717       "DSP_fft32x32/c64P/gen_twiddle_fft32x32.h",
718       "DSP_fft32x32/c64P/DSP_fft32x32.h",
719       "DSP_fft32x32/c64P/DSP_fft32x32_i.h",
720       "DSPF_sp_maxval/c66/DSPF_sp_maxval_cn.h",
721       "DSPF_sp_maxval/c66/DSPF_sp_maxval.h",
722       "DSPF_sp_maxval/DSPF_sp_maxval.h",
723       "DSPF_sp_maxval/c674/DSPF_sp_maxval_cn.h",
724       "DSPF_sp_maxval/c674/DSPF_sp_maxval.h",
725       "DSPF_sp_qrd/c66/DSPF_sp_qrd_cn.h",
726       "DSPF_sp_qrd/c66/DSPF_sp_qrd.h",
727       "DSPF_sp_qrd/DSPF_sp_qrd.h",
728       "DSP_mat_mul/c66/DSP_mat_mul_cn.h",
729       "DSP_mat_mul/c66/DSP_mat_mul.h",
730       "DSP_mat_mul/DSP_mat_mul.h",
731       "DSP_mat_mul/c64P/DSP_mat_mul_cn.h",
732       "DSP_mat_mul/c64P/DSP_mat_mul.h",
733       "DSPF_blk_eswap16/DSPF_blk_eswap16.h",
734       "DSPF_blk_eswap16/c674/DSPF_blk_eswap16_cn.h",
735       "DSPF_blk_eswap16/c674/DSPF_blk_eswap16.h",
736       "DSPF_sp_icfftr2_dif/DSPF_sp_icfftr2_dif.h",
737       "DSPF_sp_icfftr2_dif/c674/DSPF_sp_icfftr2_dif.h",
738       "DSPF_sp_icfftr2_dif/c674/DSPF_sp_icfftr2_dif_cn.h",
739       "DSP_fir_gen/c66/DSP_fir_gen.h",
740       "DSP_fir_gen/c66/DSP_fir_gen_cn.h",
741       "DSP_fir_gen/DSP_fir_gen.h",
742       "DSP_fir_gen/c64P/DSP_fir_gen.h",
743       "DSP_fir_gen/c64P/DSP_fir_gen_cn.h",
744       "DSPF_sp_mat_mul_gemm_cplx/c66/DSPF_sp_mat_mul_gemm_cplx_cn.h",
745       "DSPF_sp_mat_mul_gemm_cplx/c66/DSPF_sp_mat_mul_gemm_cplx.h",
746       "DSPF_sp_mat_mul_gemm_cplx/DSPF_sp_mat_mul_gemm_cplx.h",
747       "DSPF_sp_mat_mul_gemm_cplx/c674/DSPF_sp_mat_mul_gemm_cplx_cn.h",
748       "DSPF_sp_mat_mul_gemm_cplx/c674/DSPF_sp_mat_mul_gemm_cplx.h",
749       "DSPF_sp_mat_trans/c66/DSPF_sp_mat_trans.h",
750       "DSPF_sp_mat_trans/c66/DSPF_sp_mat_trans_cn.h",
751       "DSPF_sp_mat_trans/DSPF_sp_mat_trans.h",
752       "DSPF_sp_mat_trans/c674/DSPF_sp_mat_trans.h",
753       "DSPF_sp_mat_trans/c674/DSPF_sp_mat_trans_cn.h",
754       "DSPF_sp_nrand/c66/DSPF_sp_nrand.h",
755       "DSPF_sp_nrand/c66/DSPF_sp_nrand_cn.h",
756       "DSPF_sp_nrand/DSPF_sp_nrand.h",
757       "DSPF_sp_lud_inv/c66/DSPF_sp_lud_inv.h",
758       "DSPF_sp_lud_inv/c66/DSPF_sp_lud_inv_cn.h",
759       "DSPF_sp_lud_inv/DSPF_sp_lud_inv.h",
760       "DSP_firlms2/c66/DSP_firlms2.h",
761       "DSP_firlms2/c66/DSP_firlms2_cn.h",
762       "DSP_firlms2/DSP_firlms2.h",
763       "DSP_firlms2/c64P/DSP_firlms2.h",
764       "DSP_firlms2/c64P/DSP_firlms2_cn.h",
765       "DSP_blk_move/c66/DSP_blk_move.h",
766       "DSP_blk_move/c66/DSP_blk_move_cn.h",
767       "DSP_blk_move/DSP_blk_move.h",
768       "DSP_blk_move/c64P/DSP_blk_move.h",
769       "DSP_blk_move/c64P/DSP_blk_move_cn.h",
770       "DSP_fft16x16r/c66/DSP_fft16x16r.h",
771       "DSP_fft16x16r/c66/gen_twiddle_fft16x16r.h",
772       "DSP_fft16x16r/c66/DSP_fft16x16r_cn.h",
773       "DSP_fft16x16r/DSP_fft16x16r.h",
774       "DSP_fft16x16r/c64P/gen_twiddle_fft16x16.h",
775       "DSP_fft16x16r/c64P/DSP_fft16x16r_i.h",
776       "DSP_fft16x16r/c64P/DSP_fft16x16r.h",
777       "DSP_fft16x16r/c64P/DSP_fft16x16r_cn.h",
778       "DSPF_sp_fftSPxSP/c66/DSPF_sp_fftSPxSP.h",
779       "DSPF_sp_fftSPxSP/c66/DSPF_sp_fftSPxSP_opt.h",
780       "DSPF_sp_fftSPxSP/c66/DSPF_sp_fftSPxSP_cn.h",
781       "DSPF_sp_fftSPxSP/DSPF_sp_fftSPxSP.h",
782       "DSPF_sp_fftSPxSP/c674/DSPF_sp_fftSPxSP.h",
783       "DSPF_sp_fftSPxSP/c674/DSPF_sp_fftSPxSP_cn.h",
784       "DSP_w_vec/c66/DSP_w_vec_cn.h",
785       "DSP_w_vec/c66/DSP_w_vec.h",
786       "DSP_w_vec/DSP_w_vec.h",
787       "DSP_w_vec/c64P/DSP_w_vec_cn.h",
788       "DSP_w_vec/c64P/DSP_w_vec.h",
789       "DSPF_sp_maxidx/c66/DSPF_sp_maxidx_cn.h",
790       "DSPF_sp_maxidx/c66/DSPF_sp_maxidx.h",
791       "DSPF_sp_maxidx/c674/DSPF_sp_maxidx_cn.h",
792       "DSPF_sp_maxidx/c674/DSPF_sp_maxidx.h",
793       "DSPF_sp_maxidx/DSPF_sp_maxidx.h",
794       "DSPF_dp_lud/c66/DSPF_dp_lud.h",
795       "DSPF_dp_lud/c66/DSPF_dp_lud_cn.h",
796       "DSPF_dp_lud/DSPF_dp_lud.h",
797       "DSP_add32/c66/DSP_add32.h",
798       "DSP_add32/c66/DSP_add32_cn.h",
799       "DSP_add32/DSP_add32.h",
800       "DSP_add32/c64P/DSP_add32.h",
801       "DSP_add32/c64P/DSP_add32_cn.h",
802       "DSPF_sp_fir_r2/c66/DSPF_sp_fir_r2.h",
803       "DSPF_sp_fir_r2/c66/DSPF_sp_fir_r2_cn.h",
804       "DSPF_sp_fir_r2/DSPF_sp_fir_r2.h",
805       "DSPF_sp_fir_r2/c674/DSPF_sp_fir_r2.h",
806       "DSPF_sp_fir_r2/c674/DSPF_sp_fir_r2_cn.h",
807       "DSPF_dp_qrd_cmplx/c66/DSPF_dp_qrd_cmplx_cn.h",
808       "DSPF_dp_qrd_cmplx/c66/DSPF_dp_qrd_cmplx.h",
809       "DSPF_dp_qrd_cmplx/DSPF_dp_qrd_cmplx.h",
810       "DSPF_dp_lud_inv_cmplx/c66/DSPF_dp_lud_inv_cmplx_cn.h",
811       "DSPF_dp_lud_inv_cmplx/c66/DSPF_dp_lud_inv_cmplx.h",
812       "DSPF_dp_lud_inv_cmplx/DSPF_dp_lud_inv_cmplx.h",
813       "DSP_minval/c66/DSP_minval_cn.h",
814       "DSP_minval/c66/DSP_minval.h",
815       "DSP_minval/c64P/DSP_minval_cn.h",
816       "DSP_minval/c64P/DSP_minval.h",
817       "DSP_minval/DSP_minval.h",
818       "DSP_fir_cplx_hM4X4/c66/DSP_fir_cplx_hM4X4.h",
819       "DSP_fir_cplx_hM4X4/c66/DSP_fir_cplx_hM4X4_cn.h",
820       "DSP_fir_cplx_hM4X4/DSP_fir_cplx_hM4X4.h",
821       "DSP_fir_cplx_hM4X4/c64P/DSP_fir_cplx_hM4X4.h",
822       "DSP_fir_cplx_hM4X4/c64P/DSP_fir_cplx_hM4X4_cn.h",
823     ]
824   };
826   Package.archiveFiles["bundle"] = {
827     base_directory: ".",
828     delivery_type: "bundle",
829     files: ["docs/DSPLIB_Software_Manifest.html", 
830             "docs/DSPLIB_Users_Manual.html",
831             "docs/doxygen/html",
832             "docs/manifest/html",
833             "examples",
834             ".metadata",
835             "README.txt"]
836   };
838   Package.archiveFiles["bundle-c64x"] = {
839     base_directory: "./docs",
840     delivery_type: "bundle",
841     files: ["DSPLIB_C64Px_TestReport.html"],
842     target:["c64Ple","c64Pbe","ce64Ple","ce64Pbe"]
843   };
844   Package.archiveFiles["bundle-c66x"] = {
845     base_directory: "./docs",
846     delivery_type: "bundle",
847     files: ["DSPLIB_C66x_TestReport.html"],
848     target:["c66le","c66be","ce66le","ce66be"]
849   };    
850   Package.archiveFiles["bundle-c674x"] = {
851     base_directory: "./docs",
852     delivery_type: "bundle",
853     files: ["DSPLIB_C674x_TestReport.html"],
854     target:["c674le","ce674le"]
855   };    
857   
858 /**********************************************************************************************
859   The main package.bld routine starts here 
860 ***********************************************************************************************/
862   /* Set up the targets array. Current implementation support c674x, c66x and c64x*/
863   Package.targets = [C64P, C64P_big_endian, C64P_elf, C64P_big_endian_elf, C66, C66_big_endian, C66_elf, C66_big_endian_elf, C674, C674_elf, VC98];
865     /* Set up version number for the package */
866   Package.pkgStdVer = "2.0";
867   Package.version = [3, 4, 0, 2, 3, 0];
868   
869   Package.createVersion();
871   /* Parse XDC Arguments */
872   Package.parseArgs(arguments);
873   
874   /* Default delivery type is "source" for this release */ 
875   Package.delivery_type = "src";  
876   
877   
878   /* Call Local function to set up parameters for ccs projects */
879   if(!String(Package.targs[0]).match("VC98"))
880   {
881     addArtifacts();
882   }
883   else
884   {
885     createExe();
886  }
887    
888   /* generate Doxyfile based on the version array above */
889   var tplt = xdc.loadTemplate("./docs/doxygen/doxyfile.xdt");
890   tplt.genFile("./docs/doxygen/Doxyfile",null, [Package.version,doxygenstring]);  
892   /* Generate Software Manifest XML file */
893   var tplt = xdc.loadTemplate("./docs/manifest/manifest.xml.xdt");
894   tplt.genFile("./docs/manifest/manifest.xml",Package);  
896   /* Generate DSPLIB bundle users manual Doxyfile */
897   tplt = xdc.loadTemplate("./docs/bundle/doxygen/doxyfile.xdt");
898   tplt.genFile("./docs/bundle/doxygen/Doxyfile",Package);      
900   /* Generate DSPLIB bundle manifest Doxyfile */
901   tplt = xdc.loadTemplate("./docs/bundle/manifest/doxyfile.xdt");
902   tplt.genFile("./docs/bundle/manifest/Doxyfile",Package);      
904   /* Generate TI REX meta data */
905   print( "Generating TI REX"); 
906   var tirex_tplt = xdc.loadTemplate("./package.ccs.json.xdt");
907   tirex_tplt.genFile("./.metadata/.tirex/package.ccs.json",null,[TIREX_TARGET]);
909   tirex_tplt = xdc.loadTemplate("./package.tirex.json.xdt");
910   tirex_tplt.genFile("./.metadata/.tirex/package.tirex.json",null,[Package.version,TIREX_TARGET]);
912   /* Include custom makefile to generate doxygen documents */
913   Package.includeMake("Makedocs.mk");
914   Package.bundleMakeDoc = "MakedocsBundle.mk";   
916   if(!String(Package.targs[0]).match("VC98"))
917   {
918     Package.createProjects();
919   }
920  
921   createknlhdr();
923    
924   /* Create Archive */ 
925   Package.createArchive();
926   
927   /* Clean Package */
928   Package.packageClean();
930 /**********************************************************************************************
931   The main package.bld routine ends here 
932 ***********************************************************************************************/
933   
934   
935   /** Local function to add projects **/
936   function addArtifacts() {
937     
938     if (IncludeList == "") {
939       var file = new java.io.File("src");
940       IncludeList = file.list();
941     }
942     
943     var libc_c674 = new Array();
944     var libc_c64p = new Array();
945     var libc_c66 = new Array();
946     var libcn_c674 = new Array();
947     var libcn_c64p = new Array();
948     var libcn_c66 = new Array();
949     
950     
951     for each (var dir in IncludeList) {
952     
953       if( dir == "common")
954          continue;
955       var special   = false; 
956       var exclude64p   = false;
957       var exclude66   = false;
958       var exclude674   = false;
959       var exclude64ple   = false;
960       var exclude66le   = false;
961       var exclude64pbe   = false;
962       var exclude66be   = false;
963       var exclude674le   = false;
964       
965       /* Check if dir is in exclude list */
966       for each (var excludedir in ExcludeList) {
967         if (excludedir.name == dir){
968            if(excludedir.srcDir.toString().match("c64Ple")) {
969              exclude64ple = true;
970            }
971            else if(excludedir.srcDir.toString().match("c64Pbe")) {
972              exclude64pbe = true;
973            }
974            else if(excludedir.srcDir.toString().match("c64P")) {
975              exclude64p = true;
976            }
977            
978            if(excludedir.srcDir.toString().match("c674le")) {
979              exclude674le = true;
980            }
981            else if(excludedir.srcDir.toString().match("c674")) {
982              exclude674 = true;
983            }
984            
985            if(excludedir.srcDir.toString().match("c66le")) {
986              exclude66le = true;
987            }
988            else if(excludedir.srcDir.toString().match("c66be")) {
989              exclude66be = true;
990            }
991            else if(excludedir.srcDir.toString().match("c66")) {
992              exclude66 = true;
993            }
994          }
995        }
996       
997       /* Check if dir is in special list */
998       for each (var specialdir in SpecialList) {
999         if (specialdir.name == dir && specialdir.srcDir == srcDir) {
1000           special = true;
1001           break;
1002         }
1003       }
1004       if (special == true) { cflags = specialdir.cflags; }
1006      
1007       /*****************************************************************************
1008         Local Variables 
1009        *****************************************************************************/
1010       var projectname = dir;
1011       var projectroot = "src/" + projectname + "/";
1012       var commonroot  = "src/common/";
1013       var prjtargroot;
1014       var prjtarget; 
1015       var linkfile;
1016       
1018       /*****************************************************************************
1019         Kernel C66x project
1020        *****************************************************************************/
1021       if(exclude66 == false)
1022       {
1023           if(exclude66le == true)
1024             prjtarget="66be";
1025           else if(exclude66be == true)
1026             prjtarget="66le";
1027           else
1028             prjtarget = "66"
1029           prjtargroot = projectroot + "/c66/";
1030           cmntargroot = commonroot  + "/c66/";
1032           linkfile = new Array();
1033           if (xdc.findFile(prjtargroot+"lnk.cmd")) 
1034           {
1035             linkfile.push(prjtargroot+"lnk.cmd");
1036           }
1037           else
1038           {
1039             linkfile.push(cmntargroot + "lnk.cmd");
1040           }
1041           
1042           findProjectFiles (projectroot,linkfile,dir,"66");
1043           findProjectFiles (prjtargroot,linkfile,dir,"66");
1044           
1045           /* Add library files */
1046           findLibFiles(prjtargroot, libc_c66, libcn_c66, dir);
1047         
1048           Package.ccsProjects.push({ pjtName:        projectname,
1049                                        location:       prjtargroot,
1050                                        buildArtifact:  "executable",
1051                                        srcFiles:       linkfile,
1052                                        cFlags:         " --mem_model:data=far",
1053                                        targets:        [prjtarget]   
1054                                    });
1055       }
1056       
1057       /*****************************************************************************
1058         Kernel C674x project
1059        *****************************************************************************/
1060       if(exclude674 == false)
1061       {
1062           prjtarget = "674"
1063           prjtargroot = projectroot + "/c674/";
1064           cmntargroot = commonroot  + "/c674/";
1065           linkfile = new Array();
1066           if (xdc.findFile(prjtargroot+"lnk.cmd")) 
1067           {
1068             linkfile.push(prjtargroot+"lnk.cmd");
1069           }
1070           else
1071           {
1072             linkfile.push(cmntargroot + "lnk.cmd");
1073           }
1074          findProjectFiles (projectroot,linkfile,dir,"674");
1075           findProjectFiles (prjtargroot,linkfile,dir,"674");
1076          
1077          /* Add library files */
1078           findLibFiles(prjtargroot, libc_c674, libcn_c674, dir);
1079          
1080          Package.ccsProjects.push({ pjtName:        projectname,
1081                                       location:       prjtargroot,
1082                                       buildArtifact:  "executable",
1083                                       srcFiles:       linkfile,
1084                                       cFlags:         " --mem_model:data=far",
1085                                       targets:        [prjtarget]   
1086                                   });
1087                                   
1088       }
1089       
1091       /*****************************************************************************
1092         Kernel C64x+ project
1093        *****************************************************************************/
1094      if(exclude64p == false)
1095        {
1096           if(exclude64ple == true)
1097             prjtarget="64Pbe";
1098           else if(exclude64pbe == true)
1099             prjtarget="64Ple";
1100           else
1101             prjtarget = "64P"
1102           
1103           prjtargroot = projectroot + "/c64P/";
1104           cmntargroot = commonroot  + "/c64P/";
1105           linkfile = new Array();
1106           if (xdc.findFile(prjtargroot+"lnk.cmd")) 
1107           {
1108             linkfile.push(prjtargroot+"lnk.cmd");
1109           }
1110           else
1111           {
1112             linkfile.push(cmntargroot + "lnk.cmd");
1113           }
1114           findProjectFiles (projectroot,linkfile,dir,"64P");
1115           findProjectFiles (prjtargroot,linkfile,dir,"64P");
1116           
1117           /* Add library files */
1118           findLibFiles(prjtargroot, libc_c64p, libcn_c64p, dir);
1119           Package.ccsProjects.push({ pjtName:        projectname,
1120                                        location:       prjtargroot,
1121                                        buildArtifact:  "executable",
1122                                        srcFiles:       linkfile,
1123                                        cFlags:         " --mem_model:data=far",
1124                                        targets:        [prjtarget]   
1125                                    });
1126       }
1127     }
1128         /* create rules for creating library for optimized and the natural C code */
1129    Package.files=new Array();
1131    /* C66x DSPLIB Intrinsic Library */
1132    Package.files["kernelc66"] =
1133    {
1134       files: libc_c66,
1135       def_flags: " --mem_model:data=far",
1136       target: ["ce66le","c66le","ce66be","c66be"]
1137    };
1139    /* C674x DSPLIB Intrinsic Library */
1140    Package.files["kernelc674"] =
1141    {
1142       files: libc_c674,
1143       def_flags: " --mem_model:data=far",
1144       target: ["c674le","ce674le"]
1145    };
1147    /* C64x+ DSPLIB Intrinsic Library */
1148    Package.files["kernelc64p"] =
1149    {
1150       files: libc_c64p,
1151       def_flags: " --mem_model:data=far",
1152       target: ["ce64Ple","c64Ple", "ce64Pbe","c64Pbe"]
1153    };
1155    /* Create DSPLIB library */
1156    Package.createLib("dsplib");
1157    
1158    /* C66x DSPLIB Natural C Library */
1159    Package.files["kernelc66"] =
1160    {
1161     files: libcn_c66,
1162     def_flags: " --mem_model:data=far",
1163         target: ["ce66le","c66le","ce66be","c66be"]
1164    };
1166    /* C674x DSPLIB Natural C Library */
1167    Package.files["kernelc674"] =
1168    {
1169     files: libcn_c674,
1170     def_flags: " --mem_model:data=far",
1171         target: ["ce674le","c674le"]
1172    };
1174    /* C64x+ DSPLIB Natural C Library */
1175    Package.files["kernelc64p"] =
1176    {
1177     files: libcn_c64p,
1178     def_flags: " --mem_model:data=far",
1179         target: ["ce64Ple","c64Ple", "ce64Pbe","c64Pbe"]
1180    };
1182    /* Rule to create Natural C library */
1183    Package.createLib("dsplib_cn");
1185     
1186   }
1188   /** Local function to add files for projects **/
1189   function findProjectFiles(path,lnkfile,knl,target) {
1190     var Files = new java.io.File(path);
1191     for each (var srcFile in Files.list()) {
1192       srcFile = String(srcFile);
1193       var srcPath = path + srcFile;
1194       var dot = srcFile.lastIndexOf(".");
1195       var extension = srcFile.substr(dot,srcFile.length);    
1196       if (extension == ".c") {
1197         if(srcFile.substr(0,dot) == knl)
1198        {
1199            continue;      
1200        }
1201        var underscore=srcFile.lastIndexOf("_");
1202        var fileType=srcFile.substr(underscore,dot-underscore);
1203        if (fileType=="_cn" || fileType=="_i")
1204        {
1205            continue;
1206        }
1207             
1208         if (xdc.findFile(srcPath)) {
1209             lnkfile.push(srcPath);
1210         }
1211       }
1212       /* Create Doxygen string */
1213       if(extension == ".h")
1214       {
1215           if (extension == ".h" && srcFile.toString().match(knl+".h") && String(Package.targs[0]).match(target)) 
1216           {
1217              doxygenstring += " " + srcPath;
1218           }
1219           if (xdc.findFile(srcPath)) 
1220          {
1221            lnkfile.push(srcPath);
1222          }
1223       }
1224     }
1225   } 
1227 /** Local function to add files for libraries **/
1228   function findLibFiles(path,libc, libcn, knl) {
1229     var Files = new java.io.File(path);
1230     for each (var srcFile in Files.list()) {
1231       srcFile = String(srcFile);
1232       var srcPath = path + srcFile;
1233       var dot = srcFile.lastIndexOf(".");
1234       var extension = srcFile.substr(dot,srcFile.length-dot);
1235           /* Add source C file to project */
1236           if (extension == ".s")
1237           {
1238             libc.push(srcPath);
1239             continue;
1240           }
1241           if (extension == ".sa")
1242           {
1243             libc.push(srcPath);
1244             continue;
1245           }
1246           if (srcFile == (knl + ".c") )
1247           {
1248             libc.push(srcPath);
1249             continue;
1250           }
1251       var underscore=srcFile.lastIndexOf("_");
1252       var fileType=srcFile.substr(underscore,dot-underscore);
1253           if (extension== ".c" && fileType=="_i")
1254           {
1255             libc.push(srcPath);
1256             continue;
1257           }
1258           if (extension== ".c" && fileType=="_cn")
1259           {
1260             libcn.push(srcPath);
1261             continue;
1262           }
1263     }
1264   }  
1265      
1266 function createExe()
1268    if (IncludeList == "") {
1269       var file = new java.io.File("src");
1270       IncludeList = file.list();
1271     }
1272     
1273     for each (var dir in IncludeList) {
1274       var special   = false; 
1275       var exclude66   = false;
1276      
1278       /* Check if dir is in exclude list */
1279       for each (var excludedir in ExcludeList) {
1280         if (excludedir.name == dir){
1281         
1282            if(excludedir.srcDir.toString().match("c66le")) {
1283              exclude66 = true;
1284            }
1285            else if(excludedir.srcDir.toString().match("c66")) {
1286              exclude66 = true;
1287            }
1288          }
1289       }
1290       
1291       /* Check if dir is in special list */
1292       for each (var specialdir in SpecialList) {
1293         if (specialdir.name == dir && specialdir.srcDir == srcDir) {
1294           special = true;
1295           break;
1296         }
1297       }
1298       if (special == true) { cflags = specialdir.cflags; }
1300        /*****************************************************************************
1301         Local Variables 
1302        *****************************************************************************/
1303       var projectname = dir;
1304       var projectroot = "./src/" + projectname + "/";
1305       var prjtargroot;
1306       var prjtarget; 
1307       var linkfile;
1309       if(exclude66 == false)
1310       {
1311           
1312           prjtargetsrc = projectroot+"/c66/"
1313           prjtargroot = projectroot + "/vc98/";
1314           linkfile = new Array();
1315           findVC98Files (projectroot,linkfile);
1316           findVC98Files (prjtargetsrc,linkfile);
1317           
1318           Package.files["CSRC"]=
1319           {
1320              base_directory: ".",
1321  
1322              files: linkfile.concat([
1323               "mex/c6xsim/C6xSimulator.c",
1324               "mex/c6xsim/C66_ag_intrins.c",
1325               "mex/c6xsim/C66_data_sim.c"]),
1326               
1327              def_flags: " -DTMS320C66X -D_TMS320C6600 -DLITTLE_ENDIAN_HOST -D_LITTLE_ENDIAN  -Imex/c6xsim",
1329          } 
1332         Package.exeTarget[0] = 
1333        {
1334      
1335           base_directory: prjtargroot,
1337           target:  "vc98",
1339           name:  projectname,
1340   
1341        };  
1343        Package.createExe();
1345       }
1347     }
1349 }    
1351  function findVC98Files(path,lnkfile) {
1352     var Files = new java.io.File(path);
1353     for each (var srcFile in Files.list()) {
1354       srcFile = String(srcFile);
1355       var srcPath = path + srcFile;
1356       var dot = srcFile.lastIndexOf(".");
1357       var extension = srcFile.substr(dot,srcFile.length);    
1358       if (extension == ".c") {
1359         if (xdc.findFile(srcPath)) {
1360             lnkfile.push(srcPath);
1361         }
1362       }
1363     }
1364     return lnkfile;
1365   }  
1366   
1367 function createknlhdr()
1369      /* Create Kernel API header file */
1370     var api = Package.bundlename+".h";
1371     var fileModule = xdc.module('xdc.services.io.File');
1372     try{
1373         var apiHeader = fileModule.open(api, "w");
1374      } catch (ex)
1375      {
1376       print( api + " cannot be written to. Please check Writing Permissions.");
1377       java.lang.System.exit(1);
1378      }
1379   Package.generatedFiles.push(api);
1380   Package.archiveFiles["CommonArchiveFiles"].files.push(api);
1381    /* Header Information */
1382   apiHeader.writeLine("/* ======================================================================= */");
1383   apiHeader.writeLine("/* "+ api +" --  Interface header file                 */");
1384   apiHeader.writeLine("/*                                                                         */");
1385   apiHeader.writeLine("/* Rev 0.0.1                                                               */");
1386   apiHeader.writeLine("/*                                                                         */");
1387   apiHeader.writeLine("/* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/  */"); 
1388   apiHeader.writeLine("/*                                                                         */");
1389   apiHeader.writeLine("/*                                                                         */");
1390   apiHeader.writeLine("/*  Redistribution and use in source and binary forms, with or without     */");
1391   apiHeader.writeLine("/*  modification, are permitted provided that the following conditions     */");
1392   apiHeader.writeLine("/*  are met:                                                               */");
1393   apiHeader.writeLine("/*                                                                         */");
1394   apiHeader.writeLine("/*    Redistributions of source code must retain the above copyright       */");
1395   apiHeader.writeLine("/*    notice, this list of conditions and the following disclaimer.        */");
1396   apiHeader.writeLine("/*                                                                         */");
1397   apiHeader.writeLine("/*    Redistributions in binary form must reproduce the above copyright    */");
1398   apiHeader.writeLine("/*    notice, this list of conditions and the following disclaimer in the  */");
1399   apiHeader.writeLine("/*    documentation and/or other materials provided with the               */");
1400   apiHeader.writeLine("/*    distribution.                                                        */");
1401   apiHeader.writeLine("/*                                                                         */");
1402   apiHeader.writeLine("/*    Neither the name of Texas Instruments Incorporated nor the names of  */");
1403   apiHeader.writeLine("/*    its contributors may be used to endorse or promote products derived  */");
1404   apiHeader.writeLine("/*    from this software without specific prior written permission.        */");
1405   apiHeader.writeLine("/*                                                                         */");
1406   apiHeader.writeLine("/*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS    */");
1407   apiHeader.writeLine("/*  \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT      */");
1408   apiHeader.writeLine("/*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR  */");
1409   apiHeader.writeLine("/*  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT   */");
1410   apiHeader.writeLine("/*  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  */");
1411   apiHeader.writeLine("/*  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT       */");
1412   apiHeader.writeLine("/*  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  */");
1413   apiHeader.writeLine("/*  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY  */");
1414   apiHeader.writeLine("/*  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT    */");
1415   apiHeader.writeLine("/*  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE  */");
1416   apiHeader.writeLine("/*  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.   */");
1417   apiHeader.writeLine("/*                                                                         */");
1418   apiHeader.writeLine("/* ======================================================================= */");
1420      var projectDir = new java.io.File("./package/projects");
1421      var projectXml = projectDir.list();
1423      for each(var xml in projectXml)
1424      {
1425        xml=String(xml);
1426        var dot = xml.lastIndexOf(".");
1427        var extension = xml.substr(dot,xml.length);
1428        if(extension == ".xml")
1429        {
1430           var project=xdc.loadXML("./package/projects/"+xml);
1431           var headerfile = project["params"].name+".h";
1432           if(xdc.findFile("src/"+project["params"].name+"/"+headerfile))
1433           {
1434             apiHeader.writeLine("#include <"+Pkg.name.replace(/\./g,"/")+"/src/"+project["params"].name+"/"+headerfile+">");
1435           }
1436        }
1437      }
1439         
1440  /* nothing past this point */