18 |
18 |
19 Description: |
19 Description: |
20 |
20 |
21 ============================================================================ |
21 ============================================================================ |
22 --> |
22 --> |
|
23 <!--* @package rombuild --> |
23 <project name="rombuild" xmlns:hlm="http://www.nokia.com/helium"> |
24 <project name="rombuild" xmlns:hlm="http://www.nokia.com/helium"> |
24 <description> |
25 <description> |
25 ROM image creation using iMaker. |
26 ROM image creation using iMaker. |
26 Flash config file generation. |
27 Flash config file generation. |
27 </description> |
28 </description> |
28 <import file="./trace_images/tracebuild.ant.xml" /> |
|
29 <import file="imaker.ant.xml" /> |
29 <import file="imaker.ant.xml" /> |
|
30 |
|
31 <!--* @property ee.rom.output.dir |
|
32 /output/development_flash_images/engineering_english/logs |
|
33 @type string |
|
34 @editable required |
|
35 @scope public |
|
36 --> |
|
37 |
|
38 <!--* @property core.rom.output.dir |
|
39 /output/release_flash_images/rnd/core |
|
40 @type string |
|
41 @editable required |
|
42 @scope public |
|
43 --> |
30 |
44 |
31 <!-- should be overriden - default configuration --> |
45 <!-- should be overriden - default configuration --> |
32 <!-- <property name="rombuild.makefile.name" value="mc_imaker_conf.mk" /> --> |
46 <!-- The path to the iMaker executable file. |
|
47 @type string |
|
48 @scope private |
|
49 --> |
33 <property name="imaker.command" location="${build.drive}\epoc32\tools\imaker.cmd" /> |
50 <property name="imaker.command" location="${build.drive}\epoc32\tools\imaker.cmd" /> |
34 <property name="ee.makefile.target" value="ee_roms" /> |
|
35 <property name="subcon.makefile.target" value="subcon_roms" /> |
|
36 <property name="trace.makefile.target" value="trace_roms" /> |
|
37 <property name="ee_roms.log.file" value="${roms.log.dir}/${build.id}_ee_roms.log" /> |
|
38 <property name="trace.log.file" value="${roms.log.dir}/${build.id}_trace_roms.log" /> |
|
39 <property name="subcon.log.file" value="${roms.log.dir}/${build.id}_subcon_roms.log" /> |
|
40 |
|
41 <!-- Properties for image-creation target which is being used by IDOs --> |
|
42 <property name="image_creation.copyto" value="${build.output.dir}/images" /> |
|
43 <property name="image_creation.drive" value="${build.drive}" /> |
|
44 <!-- Property for variant-image-creation --> |
|
45 <property name="variant.image.targetpath" value="${build.output.dir}/variant_images" /> |
|
46 |
|
47 <!-- That macro runs iMaker using product the configuration generated by Helium. --> |
|
48 <macrodef name="rombuildImakerMacro" uri="http://www.nokia.com/helium"> |
|
49 <attribute name="product" /> |
|
50 <attribute name="target" /> |
|
51 <sequential> |
|
52 <var name="rom.product.path" unset="true" /> |
|
53 <if> |
|
54 <istrue value="${rombuild.using.var}" /> |
|
55 <then> |
|
56 <script language="jython" setbeans="false"> |
|
57 <![CDATA[ |
|
58 import imaker |
|
59 import os |
|
60 if project.getProperty('build.drive') == None : |
|
61 raise Exception("'build.drive' property is not defined") |
|
62 os.chdir(project.getProperty('build.drive') + os.sep) |
|
63 project.setProperty('rom.product.path', imaker.get_product_dir(r'@{product}')) |
|
64 ]]> |
|
65 </script> |
|
66 </then> |
|
67 <else> |
|
68 <exec executable="python" outputproperty="rom.product.path" dir="${build.drive}/" failonerror="${failonerror}"> |
|
69 <arg line="${helium.dir}/tools/localisation/get_product_path.py @{product}" /> |
|
70 </exec> |
|
71 <exec executable="python" outputproperty="rom.product.platform" dir="${build.drive}/" failonerror="${failonerror}"> |
|
72 <arg line="${helium.dir}/tools/localisation/get_product_platform.py @{product}" /> |
|
73 </exec> |
|
74 </else> |
|
75 </if> |
|
76 <if> |
|
77 <and> |
|
78 <equals arg1="${build.system}" arg2="ec-helium" /> |
|
79 <isset property="rom.dryrun" /> |
|
80 </and> |
|
81 <then> |
|
82 <echo message="target to run @{target}-dryrun" /> |
|
83 <exec executable="${imaker.command}" dir="${build.drive}/" output="${build.drive}/dryrun_out.txt" append="true" failonerror="${failonerror}"> |
|
84 <arg line="-p@{product} -f /epoc32/rom/${rom.product.path}/${rombuild.makefile.name}" /> |
|
85 <arg value="@{target}-dryrun" /> |
|
86 </exec> |
|
87 </then> |
|
88 <else> |
|
89 <if> |
|
90 <istrue value="${rombuild.using.var}" /> |
|
91 <then> |
|
92 <exec executable="${imaker.command}" dir="${build.drive}/" failonerror="${failonerror}"> |
|
93 <arg line="-p@{product} -f /epoc32/rom/${rom.product.path}/${rombuild.makefile.name}" /> |
|
94 <arg value="@{target}" /> |
|
95 </exec> |
|
96 </then> |
|
97 <else> |
|
98 <exec executable="${imaker.command}" dir="${build.drive}/" failonerror="${failonerror}"> |
|
99 <arg line="-p@{product} -c${rom.product.platform} -f /epoc32/rom/${rom.product.path}/${rombuild.makefile.name}" /> |
|
100 <arg value="@{target}" /> |
|
101 </exec> |
|
102 </else> |
|
103 </if> |
|
104 </else> |
|
105 </if> |
|
106 </sequential> |
|
107 </macrodef> |
|
108 |
51 |
109 |
52 |
110 <!-- Create engineering english image using ImageCreation.pl. --> |
53 <!-- |
111 <target name="image-creation" if="image_creation.copyto"> |
54 Creates subcon certified rom images. |
112 <tstamp> |
55 The build will be based on the hlm:imakerconfigurationset referenced |
113 <format property="image.archive.date" pattern="ddmmyy'_'HHmmss" /> |
56 as 'imaker.subcon.rom.config'. |
114 </tstamp> |
57 --> |
115 |
58 <target name="subcon-roms"> |
116 <move todir="${build.drive}/archives/images/${image.archive.date}" failonerror="false"> |
59 <if> |
117 <fileset dir="${build.output.dir}/images/" /> |
60 <isreference refid="imaker.subcon.rom.config" /> |
118 </move> |
61 <then> |
119 <mkdir dir="${build.output.dir}/images" /> |
62 <antcall target="build-roms"> |
120 <exec executable="perl" dir="${build.drive}/" failonerror="true"> |
63 <param name="imaker.rom.name" value="_subcon_roms" /> |
121 <arg value="${helium.dir}/tools/compile/ImageCreation.pl" /> |
64 <reference refid="imaker.subcon.rom.config" torefid="imaker.rom.config"/> |
122 <arg value="-copyto" /> |
65 </antcall> |
123 <arg value="${image_creation.copyto}" /> |
66 </then> |
124 <arg value="-MyTraces" /> |
67 <else> |
125 <arg value="${image_creation.MyTraces}" /> |
68 <echo>Configuration 'imaker.subcon.rom.config' not defined. Skipping subcon-roms build.</echo> |
126 <arg value="-Drive" /> |
69 </else> |
127 <arg value="${image_creation.drive}" /> |
70 </if> |
128 <arg value="-product" /> |
|
129 <arg value="${image_creation.product}" /> |
|
130 <arg value="-type" /> |
|
131 <arg value="${image_creation.type}" /> |
|
132 </exec> |
|
133 </target> |
71 </target> |
134 |
72 |
135 <!-- Create variant image using Creator.pl tools. |
73 <!-- Internal target to export iMaker Helium additions. @scope private--> |
136 --> |
74 <target name="rombuild-export-features"> |
137 <target name="variant-image-creation" if="variant.image.hw"> |
75 <copy todir="${build.drive}/epoc32/rom/config" overwrite="true"> |
138 <tstamp> |
76 <fileset dir="${helium.dir}/tools/rombuild/features" casesensitive="false"> |
139 <format property="image.archive.date" pattern="ddmmyy'_'HHmmss" /> |
77 <include name="*.mk" /> |
140 </tstamp> |
78 </fileset> |
141 |
|
142 <move todir="${build.drive}/archives/variant_images/${image.archive.date}" failonerror="false"> |
|
143 <fileset dir="${build.output.dir}/variant_images/" /> |
|
144 </move> |
|
145 <mkdir dir="${build.output.dir}/variant_images" /> |
|
146 <exec executable="perl" dir="${build.drive}/" failonerror="true"> |
|
147 <arg value="${build.drive}/Creator.pl" /> |
|
148 <arg value="-hw" /> |
|
149 <arg value="${variant.image.hw}" /> |
|
150 <arg value="-lang" /> |
|
151 <arg value="${variant.image.lang}" /> |
|
152 <arg value="-core" /> |
|
153 <arg value="${variant.image.core}" /> |
|
154 <arg value="-variant" /> |
|
155 <arg value="${variant.image.variantcode}" /> |
|
156 <arg value="-type" /> |
|
157 <arg value="${variant.image.type}" /> |
|
158 <arg value="-sw" /> |
|
159 <arg value="${variant.image.sw}" /> |
|
160 <arg value="-targetpath" /> |
|
161 <arg value="${variant.image.targetpath}" /> |
|
162 </exec> |
|
163 </target> |
|
164 |
|
165 <!-- This targets call the image-creation target to be reexecuted in a build. |
|
166 <deprecated>Should be done diferrently, e.g use imaker in new </deprecated> |
|
167 --> |
|
168 <target name="rerun-image-creation"> |
|
169 <runtarget target="image-creation" /> |
|
170 </target> |
|
171 |
|
172 <!-- This targets call the variant-image-creation target to be reexecuted in a build. |
|
173 <deprecated>Should be done diferrently, e.g use imaker in new </deprecated> |
|
174 --> |
|
175 <target name="rerun-variant-image-creation"> |
|
176 <runtarget target="variant-image-creation" /> |
|
177 </target> |
|
178 |
|
179 <!-- Preparing rom image configuration expanding properties, flattening the xinclude stucture |
|
180 and finally expanding properties again. |
|
181 --> |
|
182 <target name="rombuild-prepare-input" depends="init-build-area"> |
|
183 <property name="rombuild.config.file.parsed" location="${build.output.dir}/rom_config.xml.parsed" /> |
|
184 <copy file="${rombuild.config.file}" tofile="${rombuild.config.file.parsed}.x1" overwrite="true"> |
|
185 <filterchain> |
|
186 <expandproperties /> |
|
187 <tokenfilter> |
|
188 <replacestring from="http://www.w3.org/2003/XInclude" to="http://www.w3.org/2001/XInclude" /> |
|
189 </tokenfilter> |
|
190 </filterchain> |
|
191 </copy> |
|
192 <!--<xcluder in="${rombuild.config.file.parsed}.x1" out="${rombuild.config.file.parsed}.xinclude" />--> |
|
193 <xinclude file="${rombuild.config.file.parsed}.x1" tofile="${rombuild.config.file.parsed}.xinclude" /> |
|
194 <xmltask source="${rombuild.config.file.parsed}.xinclude" dest="${rombuild.config.file.parsed}.x2"> |
|
195 <attr path="//*" attr="xml:base" remove="true" /> |
|
196 </xmltask> |
|
197 <copy file="${rombuild.config.file.parsed}.x2" tofile="${rombuild.config.file.parsed}" overwrite="true"> |
|
198 <filterchain> |
|
199 <expandproperties /> |
|
200 </filterchain> |
|
201 </copy> |
79 </copy> |
202 </target> |
80 </target> |
203 |
81 |
204 |
82 |
205 <!-- Creates ee-images |
83 <!-- |
|
84 Creates trace rom images. |
|
85 The build will be based on the hlm:imakerconfigurationset referenced |
|
86 as 'imaker.trace.rom.config'. |
206 --> |
87 --> |
207 <target name="ee-roms" depends="rombuild-create-makefile" unless="no.ncp"> |
88 <target name="trace-roms"> |
208 <hlm:startSpecificLogMacro name="${ee_roms.log.file}" phase="roms"/> |
89 <if> |
209 <hlm:preECImakerMacro /> |
90 <isreference refid="imaker.trace.rom.config" /> |
210 <for list="${product.list}" delimiter="," param="product.name"> |
91 <then> |
211 <sequential> |
92 <antcall target="build-roms"> |
212 <hlm:rombuildImakerMacro product="@{product.name}" target="${ee.makefile.target}" /> |
93 <param name="imaker.rom.name" value="_trace_roms" /> |
213 </sequential> |
94 <reference refid="imaker.trace.rom.config" torefid="imaker.rom.config"/> |
214 </for> |
95 </antcall> |
215 <hlm:ecImakerMacro makefile.target="${ee.makefile.target}" /> |
96 </then> |
216 <hlm:stopSpecificLogMacro name="${ee_roms.log.file}" phase="roms"/> |
97 <else> |
217 <hlm:metadatarecord database="${metadata.dbfile}"> |
98 <echo>Configuration 'imaker.trace.rom.config' not defined. Skipping trace-roms build.</echo> |
218 <hlm:textmetadatainput> |
99 </else> |
219 <fileset casesensitive="false" file="${ee_roms.log.file}" /> |
100 </if> |
220 <metadatafilterset refid="filterset.ee.roms" /> |
|
221 </hlm:textmetadatainput> |
|
222 </hlm:metadatarecord> |
|
223 <hlm:generateBuildStatus file="${build.id}_ee_roms.log" /> |
|
224 <!-- Todo: metadata: assertions for metadata parsing here --> |
|
225 <hlm:publishMacro /> |
|
226 </target> |
101 </target> |
227 |
102 |
228 |
103 |
229 <!-- Creates subcon certified rom images with imaker tool --> |
104 <!-- Internal iMaker macro. @scope private --> |
230 <target name="subcon-roms" depends="rombuild-create-makefile" unless="no.ncp"> |
|
231 <hlm:startSpecificLogMacro name="${subcon.log.file}" phase="roms"/> |
|
232 <mkdir dir="${subcon.build.drive}/output/development_flash_images/engineering_english/${product.name}/subcon" /> |
|
233 <hlm:preECImakerMacro /> |
|
234 <for list="${product.list}" delimiter="," param="product.name"> |
|
235 <sequential> |
|
236 <hlm:rombuildImakerMacro product="@{product.name}" target="${subcon.makefile.target}" /> |
|
237 </sequential> |
|
238 </for> |
|
239 <hlm:ecImakerMacro makefile.target="${ee.makefile.target}" /> |
|
240 <hlm:stopSpecificLogMacro name="${subcon.log.file}" phase="roms"/> |
|
241 <hlm:metadatarecord database="${metadata.dbfile}"> |
|
242 <hlm:textmetadatainput> |
|
243 <fileset casesensitive="false" file= "${subcon.log.file}"/> |
|
244 <metadatafilterset refid="filterset.subcon.roms" /> |
|
245 </hlm:textmetadatainput> |
|
246 </hlm:metadatarecord> |
|
247 <hlm:generateBuildStatus file="${build.id}_subcon_roms.log" /> |
|
248 <!-- Todo: metadata: insert assertions for metadata parsing here --> |
|
249 <hlm:publishMacro /> |
|
250 </target> |
|
251 |
|
252 <!-- Private: Internal target to export iMaker Helium additions. --> |
|
253 <target name="rombuild-export-features"> |
|
254 <copy todir="${build.drive}/epoc32/rom/config" overwrite="true"> |
|
255 <fileset dir="${helium.dir}/tools/rombuild/features" casesensitive="false"> |
|
256 <include name="*.mk" /> |
|
257 <include name="unittest/*.mk" /> |
|
258 </fileset> |
|
259 </copy> |
|
260 </target> |
|
261 |
|
262 <!-- iMaker related targets --> |
|
263 <target name="rombuild-create-makefile" depends="rombuild-export-features,rombuild-prepare-input"> |
|
264 <!-- Just generate the makefile for all the product available in product list. --> |
|
265 <hlm:python> |
|
266 import os |
|
267 |
|
268 import configuration |
|
269 import rom |
|
270 |
|
271 os.chdir(r'${build.drive}/') |
|
272 configBuilder = configuration.NestedConfigurationBuilder(open(r'${rombuild.config.file.parsed}', 'r')) |
|
273 configSet = configBuilder.getConfiguration() |
|
274 for product in r'${product.list}'.split(','): |
|
275 builder = rom.IMakerRomBuilder(configSet, product, (r'${rombuild.using.var}'.lower() == "true")) |
|
276 builder.build() |
|
277 </hlm:python> |
|
278 </target> |
|
279 |
|
280 |
|
281 |
|
282 |
|
283 <!-- Creates trace rom images --> |
|
284 <target name="trace-roms" depends="rombuild-create-makefile" unless="no.ncp"> |
|
285 <hlm:startSpecificLogMacro name="${trace.log.file}" phase="roms"/> |
|
286 <hlm:preECImakerMacro /> |
|
287 <for list="${product.list}" delimiter="," param="product.name"> |
|
288 <sequential> |
|
289 <hlm:rombuildImakerMacro product="@{product.name}" target="${trace.makefile.target}" /> |
|
290 </sequential> |
|
291 </for> |
|
292 <hlm:ecImakerMacro makefile.target="${ee.makefile.target}" /> |
|
293 <hlm:stopSpecificLogMacro name="${trace.log.file}" phase="roms"/> |
|
294 <!-- Todo: Make sure that logfilter is added to the filterset --> |
|
295 <hlm:metadatarecord database="${metadata.dbfile}"> |
|
296 <hlm:textmetadatainput> |
|
297 <fileset casesensitive="false" file="${trace.log.file}" /> |
|
298 <metadatafilterset refid="filterset.trace.rom" /> |
|
299 </hlm:textmetadatainput> |
|
300 </hlm:metadatarecord> |
|
301 <hlm:generateBuildStatus file="${build.id}_trace_roms.log" /> |
|
302 <!-- Todo: metadata: insert assertions for metadata parsing here --> |
|
303 <hlm:publishMacro /> |
|
304 </target> |
|
305 |
|
306 <!-- Single product configuration support |
|
307 <deprecated>Please consider using new iMaker integration.</deprecated> |
|
308 --> |
|
309 <target name="ee-roms-product" depends="rombuild-create-makefile" unless="no.ncp"> |
|
310 <sequential> |
|
311 <hlm:preECImakerMacro /> |
|
312 <hlm:rombuildImakerMacro product="${product.name}" target="${ee.makefile.target}" /> |
|
313 <hlm:ecImakerMacro makefile.target="${ee.makefile.target}" /> |
|
314 </sequential> |
|
315 </target> |
|
316 |
|
317 <!-- Used for parallel rom image creation using dry run approach --> |
|
318 <macrodef name="preECImakerMacro" uri="http://www.nokia.com/helium"> |
|
319 <sequential> |
|
320 <delete file="${build.drive}/dryrun_out.txt" failonerror="false" /> |
|
321 </sequential> |
|
322 </macrodef> |
|
323 |
|
324 <!-- Target to run imaker in parallel rom image creation for S60 3.2 based products --> |
|
325 <macrodef name="ecImakerMacro" uri="http://www.nokia.com/helium"> |
|
326 <attribute name="makefile.target" /> |
|
327 <sequential> |
|
328 <if> |
|
329 <and> |
|
330 <equals arg1="${build.system}" arg2="ec-helium" /> |
|
331 <isset property="rom.dryrun" /> |
|
332 </and> |
|
333 <then> |
|
334 <antcall target="compile-ec-helium"> |
|
335 <param name="skip.compile-ec-patch" value="yes" /> |
|
336 <param name="sysdef.configuration" value="@{makefile.target}" /> |
|
337 <param name="ec.makefile.file" location="${build.drive}/@{makefile.target}.make" /> |
|
338 </antcall> |
|
339 </then> |
|
340 </if> |
|
341 </sequential> |
|
342 </macrodef> |
|
343 |
|
344 <!--Private: Internal iMaker macro. --> |
|
345 <macrodef name="internalImakerMacro" uri="http://www.nokia.com/helium"> |
105 <macrodef name="internalImakerMacro" uri="http://www.nokia.com/helium"> |
346 <attribute name="product" /> |
106 <attribute name="product" /> |
347 <attribute name="target" /> |
107 <attribute name="target" /> |
348 <attribute name="makefile" default="" /> |
108 <attribute name="makefile" default="" /> |
349 <attribute name="cmd" default="" /> |
109 <attribute name="cmd" default="" /> |
364 </then> |
124 </then> |
365 <else> |
125 <else> |
366 <var name="var.makefile" value="-f ${rom.product.path}/@{makefile}" /> |
126 <var name="var.makefile" value="-f ${rom.product.path}/@{makefile}" /> |
367 </else> |
127 </else> |
368 </if> |
128 </if> |
369 <exec executable="${imaker.command}" dir="${build.drive}" failonerror="${failonerror}"> |
129 <exec executable="${imaker.command}" dir="${build.drive}/" failonerror="${failonerror}"> |
370 <arg line="-p@{product} @{cmd}" /> |
130 <arg line="-p@{product} @{cmd}" /> |
371 <arg line="${var.makefile}" /> |
131 <arg line="${var.makefile}" /> |
372 <arg line="@{cmd}" /> |
132 <arg line="@{cmd}" /> |
373 <arg value="@{target}" /> |
133 <arg value="@{target}" /> |
374 </exec> |
134 </exec> |
375 </sequential> |
135 </sequential> |
376 </macrodef> |
136 </macrodef> |
377 |
137 |
378 <!-- Timestamp used in flash config file generation --> |
|
379 <tstamp> |
|
380 <format property="fota.release.date" pattern="dd-MM-yy" /> |
|
381 </tstamp> |
|
382 |
|
383 <!-- Create flash configration files --> |
|
384 <target name="flash-config-file" if="flash.config.enabled"> |
|
385 <runtarget target="rombuild-prepare-input" /> |
|
386 <runtarget target="rombuild-create-makefile" /> |
|
387 |
|
388 <property name="flash.config.makefile.target" value="flash_config" /> |
|
389 <property name="flash.config.makefile.name" value="mc_flash_config.mk" /> |
|
390 <hlm:python> |
|
391 import configuration |
|
392 import flash_config |
|
393 import os |
|
394 os.chdir(r'${build.drive}/') |
|
395 configBuilder = configuration.NestedConfigurationBuilder(open(r'${rombuild.config.file.parsed}', 'r')) |
|
396 configSet = configBuilder.getConfiguration() |
|
397 for product in r'${product.list}'.split(','): |
|
398 writer = flash_config.FlashConfigurationWriter(configSet, product) |
|
399 writer.write() |
|
400 </hlm:python> |
|
401 <for list="${product.list}" delimiter="," param="product.name"> |
|
402 <sequential> |
|
403 <hlm:internalImakerMacro product="@{product.name}" target="${flash.config.makefile.target}" makefile="${flash.config.makefile.name}" /> |
|
404 </sequential> |
|
405 </for> |
|
406 </target> |
|
407 |
|
408 <!-- The target ido-iby-copy copies the iby files from ido.src.root to ido.romtree |
|
409 Two properties that define from where the files are copied from and whre to. Defauls are |
|
410 for "ido.src.tree" default value is "${build.drive}${ido.src.root}" |
|
411 for "ido.romtree" default value is "${build.drive}${env.EPOCROOT}/epoc32/rom/include" . |
|
412 The IDO should define the ido.src.root and ido.romtree to override the defauls |
|
413 <deprecated>IDO must now move to the new sysdef structure and use ido-copy-iby.</deprecated> |
|
414 --> |
|
415 <target name="ido-iby-copy"> |
|
416 <property name="ido.src.tree" value="${build.drive}${ido.src.root}" /> |
|
417 <property name="ido.romtree" value="${build.drive}${env.EPOCROOT}/epoc32/rom/include" /> |
|
418 <echo>New files</echo> |
|
419 <!-- the files are in rom folder --> |
|
420 <copy todir="${ido.romtree}" verbose="true" flatten="true"> |
|
421 <fileset dir="${ido.src.tree}"> |
|
422 <exclude name="**/internal/**" /> |
|
423 <exclude name="**/tsrc/**" /> |
|
424 <include name="**/rom/*.iby" /> |
|
425 </fileset> |
|
426 </copy> |
|
427 <echo>Old files</echo> |
|
428 |
|
429 <copy todir="${ido.romtree}" verbose="true" flatten="true" overwrite="true"> |
|
430 <fileset dir="${ido.src.tree}"> |
|
431 <exclude name="**/internal/**" /> |
|
432 <exclude name="**/tsrc/**" /> |
|
433 <include name="**/rom/*.iby" /> |
|
434 </fileset> |
|
435 </copy> |
|
436 </target> |
|
437 |
|
438 |
|
439 <!-- Two properties that define from where the files are copied and what platform is used. |
|
440 The IDO should define the ido.src.root and ido.cenrep.platform |
|
441 The properties ido.cenrep.root and ido.cenrep.target mey be overriden by the user. |
|
442 <deprecated>IDO must now move to the new sysdef structure and use ido-create-cenrep.</deprecated> |
|
443 --> |
|
444 <target name="ido-cenrep" if="ido.cenrep.platform"> |
|
445 <property name="ido.src.tree" value="${build.drive}${ido.src.root}" /> |
|
446 <property name="ido.cenrep.root" value="${build.drive}${env.EPOCROOT}/epoc32/tools/cenrep" /> |
|
447 <property name="ido.cenrep.target" value="${build.drive}${env.EPOCROOT}/epoc32/data/z/private/10202be9" /> |
|
448 <echo>Generating cenrep files</echo> |
|
449 |
|
450 <copy todir="${ido.cenrep.root}" verbose="true" flatten="true"> |
|
451 <fileset dir="${ido.src.tree}"> |
|
452 <include name="**/cenrep/keys_*.xls" /> |
|
453 </fileset> |
|
454 </copy> |
|
455 |
|
456 <!-- in cenrep dir execut 'generate_cenrep_inifile.pl -r %s -d .' % platform --> |
|
457 <exec executable="perl" dir="${ido.cenrep.root}" failonerror="true"> |
|
458 <arg value="${ido.cenrep.root}/generate_cenrep_inifile.pl" /> |
|
459 <arg value="-r" /> |
|
460 <arg value="${ido.cenrep.platform}" /> |
|
461 <arg value="-d" /> |
|
462 <arg value="." /> |
|
463 </exec> |
|
464 <!-- Copy generated files to target path --> |
|
465 <copy todir="${ido.cenrep.target}" verbose="true" flatten="true"> |
|
466 <fileset dir="${ido.cenrep.root}"> |
|
467 <include name="????????.txt" /> |
|
468 </fileset> |
|
469 </copy> |
|
470 |
|
471 </target> |
|
472 |
|
473 <!-- |
|
474 Implement a solution to create build information for imaker. |
|
475 --> |
|
476 <target name="rombuild-imaker-create-buildinfo"> |
|
477 <property name="rombuild.buildinfo.template" location="${helium.dir}/tools/common/templates/imaker/image_conf_buildinfo.mk.ftl" /> |
|
478 <property name="rombuild.buildinfo.output" location="${build.drive}${env.EPOCROOT}epoc32/rom/config/image_conf_buildinfo.mk" /> |
|
479 <fmpp sourceFile="${rombuild.buildinfo.template}" outputFile="${rombuild.buildinfo.output}"> |
|
480 <data expandProperties="yes"> |
|
481 ant: antProperties() |
|
482 </data> |
|
483 </fmpp> |
|
484 </target> |
|
485 |
|
486 </project> |
138 </project> |