buildframework/helium/tools/localisation/localisation-32.ant.xml
changeset 179 d8ac696cc51f
parent 1 be27ed110b50
child 593 4367a1b2db65
equal deleted inserted replaced
1:be27ed110b50 179:d8ac696cc51f
    63         <attribute name="type" default=""/>
    63         <attribute name="type" default=""/>
    64         <attribute name="ctool" default="false"/>
    64         <attribute name="ctool" default="false"/>
    65         <attribute name="force" default="false"/>
    65         <attribute name="force" default="false"/>
    66         <sequential>
    66         <sequential>
    67             <mkdir dir="${build.log.dir}"/>
    67             <mkdir dir="${build.log.dir}"/>
       
    68             <mkdir dir="${localisation.log.dir}"/>            
    68             <if>
    69             <if>
    69                 <and>
    70                 <and>
    70                     <available file="${zips.loc.dir}/delta_@{variant}_package.zip" />
    71                     <available file="${zips.loc.dir}/delta_@{variant}_package.zip" />
    71                     <isfalse value="@{force}"/>
    72                     <isfalse value="@{force}"/>
    72                 </and>                    
    73                 </and>                    
    86                     </if>
    87                     </if>
    87                     <echo>Generating ${build.drive}\epoc32\tools\s60tools\variant_build_@{variant}${internal.variant.type}.xml</echo>
    88                     <echo>Generating ${build.drive}\epoc32\tools\s60tools\variant_build_@{variant}${internal.variant.type}.xml</echo>
    88                     <hlm:compileGenxmlMacro input="-x ${canonical.sysdef.file}"
    89                     <hlm:compileGenxmlMacro input="-x ${canonical.sysdef.file}"
    89                                           configuration="${s60.delta.config.prefix}@{variant}${internal.variant.type}"
    90                                           configuration="${s60.delta.config.prefix}@{variant}${internal.variant.type}"
    90                                           output="${build.drive}\epoc32\tools\s60tools\variant_build_@{variant}${internal.variant.type}.xml"
    91                                           output="${build.drive}\epoc32\tools\s60tools\variant_build_@{variant}${internal.variant.type}.xml"
    91                                           log="${build.log.dir}/${build.id}.variant_build_@{variant}${internal.variant.type}_genxml.log"/>
    92                                           log="${localisation.log.dir}/${build.id}.variant_build_@{variant}${internal.variant.type}_genxml.log"/>
    92 
    93 
    93                     <echo>Building ${build.drive}\epoc32\tools\s60tools\variant_build_@{variant}${internal.variant.type}.xml</echo>
    94                     <echo>Building ${build.drive}\epoc32\tools\s60tools\variant_build_@{variant}${internal.variant.type}.xml</echo>
    94                     <hlm:compileEbsMacro input="${build.drive}\epoc32\tools\s60tools\variant_build_@{variant}${internal.variant.type}.xml" log="${build.log.dir}/${build.id}.@{variant}${internal.variant.type}_compile.log" />
    95                     <hlm:compileEbsMacro input="${build.drive}\epoc32\tools\s60tools\variant_build_@{variant}${internal.variant.type}.xml" log="${localisation.log.dir}/${build.id}.@{variant}${internal.variant.type}_compile.log" />
    95                     <hlm:compileHtmlscanlogMacro input="${build.log.dir}/${build.id}.@{variant}${internal.variant.type}_compile.log" output="${build.log.dir}/${build.id}.@{variant}${internal.variant.type}_scan2.html" />
    96                     <hlm:compileHtmlscanlogMacro input="${localisation.log.dir}/${build.id}.@{variant}${internal.variant.type}_compile.log" output="${build.log.dir}/${build.id}.@{variant}${internal.variant.type}_scan2.html" />
    96                     
    97                     
    97                     <if>
    98                     <if>
    98                         <istrue value="@{ctool}"/>
    99                         <istrue value="@{ctool}"/>
    99                         <then>
   100                         <then>
   100                             <property name="ctool.region.@{variant}" value="@{variant}"/>
   101                             <property name="ctool.region.@{variant}" value="@{variant}"/>
   101                             <echo>Region ctool: ${ctool.region.@{variant}} (@{variant}).</echo>
   102                             <echo>Region ctool: ${ctool.region.@{variant}} (@{variant}).</echo>
   102                             <preset.exec executable="cmd" dir="${ctool.dir}/" failonerror="true" output="${build.log.dir}/${build.id}.configtool_@{variant}_log.txt">
   103                             <preset.exec executable="cmd" dir="${ctool.dir}/" failonerror="true" output="${localisation.log.dir}/${build.id}.configtool_@{variant}_log.txt">
   103                                 <arg line="/c cli_build.cmd ${ctool.@{variant}.conf} -report ${build.log.dir}/${build.id}.configtool_@{variant}_delta.txt -ignore_errors"/>
   104                                 <arg line="/c cli_build.cmd ${ctool.@{variant}.conf} -report ${localisation.log.dir}/${build.id}.configtool_@{variant}_delta.txt -ignore_errors"/>
   104                             </preset.exec>
   105                             </preset.exec>
   105                         </then>
   106                         </then>
   106                     </if>
   107                     </if>
   107                     <preset.exec executable="perl" dir="${build.drive}/" failonerror="true">
   108                     <preset.exec executable="perl" dir="${build.drive}/" failonerror="true">
   108                         <arg value="${parse_abld_what.tool}"/>
   109                         <arg value="${parse_abld_what.tool}"/>
   109                         <arg line="-i ${build.log.dir}/${build.id}.@{variant}${internal.variant.type}_compile.log -filter \epoc32 -zip ${zips.loc.dir}/delta_@{variant}_package -ex productvariant.hrh"/>
   110                         <arg line="-i ${localisation.log.dir}/${build.id}.@{variant}${internal.variant.type}_compile.log -filter \epoc32 -zip ${zips.loc.dir}/delta_@{variant}_package -ex productvariant.hrh"/>
   110                     </preset.exec>
   111                     </preset.exec>
   111                     <if>
   112                     <if>
   112                         <istrue value="@{ctool}"/>
   113                         <istrue value="@{ctool}"/>
   113                         <then>
   114                         <then>
   114                             <preset.exec executable="${build.drive}\epoc32\tools\zip.exe" dir="${build.drive}/" input="${build.log.dir}/${build.id}.configtool_@{variant}_delta.txt">
   115                             <preset.exec executable="${build.drive}\epoc32\tools\zip.exe" dir="${build.drive}/" input="${localisation.log.dir}/${build.id}.configtool_@{variant}_delta.txt">
   115                                 <arg line="-r -u ${zips.loc.dir}/delta_@{variant}_package -@"/>
   116                                 <arg line="-r -u ${zips.loc.dir}/delta_@{variant}_package -@"/>
   116                             </preset.exec>
   117                             </preset.exec>
   117                         </then>
   118                         </then>
   118                     </if>
   119                     </if>
   119                     <var name="internal.variant.type" unset="true"/>
   120                     <var name="internal.variant.type" unset="true"/>
   131     <macrodef name="createDeltaWesternZipMacro"  uri="http://www.nokia.com/helium">
   132     <macrodef name="createDeltaWesternZipMacro"  uri="http://www.nokia.com/helium">
   132         <attribute name="configs"/>
   133         <attribute name="configs"/>
   133         <attribute name="ctool" default="false"/>
   134         <attribute name="ctool" default="false"/>
   134         <sequential>
   135         <sequential>
   135             <mkdir dir="${zips.loc.dir}"/>
   136             <mkdir dir="${zips.loc.dir}"/>
       
   137             <mkdir dir="${localisation.log.dir}"/>
   136             <for list="@{configs}" delimiter="," param="conf" >
   138             <for list="@{configs}" delimiter="," param="conf" >
   137                 <sequential>
   139                 <sequential>
   138                     <if>
   140                     <if>
   139                         <istrue value="@{ctool}"/>
   141                         <istrue value="@{ctool}"/>
   140                         <then>
   142                         <then>
   141                             <preset.exec executable="cmd" dir="${ctool.dir}/" failonerror="true" output="${build.log.dir}/${build.id}.configtool_western_log.txt">
   143                             <preset.exec executable="cmd" dir="${ctool.dir}/" failonerror="true" output="${localisation.log.dir}/${build.id}.configtool_western_log.txt">
   142                                 <arg line="/c cli_build.cmd ${ctool.western.conf} -report ${build.log.dir}/${build.id}.configtool_western_delta.txt -ignore_errors"/>
   144                                 <arg line="/c cli_build.cmd ${ctool.western.conf} -report ${localisation.log.dir}/${build.id}.configtool_western_delta.txt -ignore_errors"/>
   143                             </preset.exec>
   145                             </preset.exec>
   144                         </then>
   146                         </then>
   145                     </if>
   147                     </if>
   146                     <preset.exec executable="perl" dir="${build.drive}/" failonerror="true">
   148                     <preset.exec executable="perl" dir="${build.drive}/" failonerror="true">
   147                         <arg value="${parse_abld_what.tool}"/>
   149                         <arg value="${parse_abld_what.tool}"/>
   148                         <arg line="-i ${build.log.dir}/${build.id}.@{conf}_compile.log -filter \epoc32 -zip ${zips.loc.dir}/delta_western_package -ex productvariant.hrh"/>
   150                         <arg line="-i ${compile.log.dir}/${build.id}.@{conf}_compile.log -filter \epoc32 -zip ${zips.loc.dir}/delta_western_package -ex productvariant.hrh"/>
   149                     </preset.exec>
   151                     </preset.exec>
   150                     <if>
   152                     <if>
   151                         <istrue value="@{ctool}"/>
   153                         <istrue value="@{ctool}"/>
   152                         <then>
   154                         <then>
   153                             <preset.exec executable="${build.drive}\epoc32\tools\zip.exe" dir="${build.drive}/" input="${build.log.dir}/${build.id}.configtool_western_delta.txt">
   155                             <preset.exec executable="${build.drive}\epoc32\tools\zip.exe" dir="${build.drive}/" input="${localisation.log.dir}/${build.id}.configtool_western_delta.txt">
   154                                 <arg line="-r -u ${zips.loc.dir}/delta_western_package -@"/>
   156                                 <arg line="-r -u ${zips.loc.dir}/delta_western_package -@"/>
   155                             </preset.exec>
   157                             </preset.exec>
   156                         </then>
   158                         </then>
   157                     </if>
   159                     </if>
   158                 </sequential>
   160                 </sequential>
   164         Target to be run after the compile-main to zipup western variation.
   166         Target to be run after the compile-main to zipup western variation.
   165         <deprecated>Please consider using binary variation to solve that problem.</deprecated>
   167         <deprecated>Please consider using binary variation to solve that problem.</deprecated>
   166     -->
   168     -->
   167     <target name="localisation-postbuild-western">
   169     <target name="localisation-postbuild-western">
   168         <mkdir dir="${zips.loc.dir}"/>
   170         <mkdir dir="${zips.loc.dir}"/>
       
   171         <mkdir dir="${localisation.log.dir}"/>
   169 
   172 
   170         <antcall target="compile-main">
   173         <antcall target="compile-main">
   171             <param name="sysdef.configurations.list" value="S60_bldmelast" />
   174             <param name="sysdef.configurations.list" value="S60_bldmelast" />
   172         </antcall>
   175         </antcall>
   173 
   176 
   174         <preset.exec executable="perl" dir="${build.drive}/" failonerror="true">
   177         <preset.exec executable="perl" dir="${build.drive}/" failonerror="true">
   175             <arg value="${parse_abld_what.tool}"/>
   178             <arg value="${parse_abld_what.tool}"/>
   176             <arg line="-i ${build.log.dir}/${build.id}.S60_bldmelast_compile.log -filter \epoc32 -zip ${zips.loc.dir}/delta_western_package -ex productvariant.hrh"/>
   179             <arg line="-i ${compile.log.dir}/${build.id}.S60_bldmelast_compile.log -filter \epoc32 -zip ${zips.loc.dir}/delta_western_package -ex productvariant.hrh"/>
   177         </preset.exec>
   180         </preset.exec>
   178         <copy file="${build.drive}\epoc32\release\ARMV5\urel\elocl.dll" tofile="${build.drive}\epoc32\release\ARMV5\urel\elocl.01" />
   181         <copy file="${build.drive}\epoc32\release\ARMV5\urel\elocl.dll" tofile="${build.drive}\epoc32\release\ARMV5\urel\elocl.01" />
   179         <copy file="${build.drive}\epoc32\release\ARMV5\udeb\elocl.dll" tofile="${build.drive}\epoc32\release\ARMV5\udeb\elocl.01" />
   182         <copy file="${build.drive}\epoc32\release\ARMV5\udeb\elocl.dll" tofile="${build.drive}\epoc32\release\ARMV5\udeb\elocl.01" />
   180     </target>
   183     </target>
   181 
   184 
   187             * lang.[product].[langid].txt
   190             * lang.[product].[langid].txt
   188             * /epoc32/rom/config/[platform]/.../[product]/variant_[langid].iby
   191             * /epoc32/rom/config/[platform]/.../[product]/variant_[langid].iby
   189         <deprecated>This feature is now supported by iMaker, please update your  Makefile templates to migrate the language data from XML.</deprecated>
   192         <deprecated>This feature is now supported by iMaker, please update your  Makefile templates to migrate the language data from XML.</deprecated>
   190     -->
   193     -->
   191     <target name="localisation-create-languagepack" depends="rombuild-prepare-input">
   194     <target name="localisation-create-languagepack" depends="rombuild-prepare-input">
       
   195         <mkdir dir="${localisation.log.dir}"/>
   192         <for list="${product.list}" delimiter="," param="product.name" >
   196         <for list="${product.list}" delimiter="," param="product.name" >
   193             <sequential>
   197             <sequential>
   194                 <echo>Language Pack configuration for @{product.name}</echo>
   198                 <echo>Language Pack configuration for @{product.name}</echo>
   195                 <exec executable="python" dir="${build.drive}/" failonerror="${failonerror}">                    
   199                 <exec executable="python" dir="${build.drive}/" failonerror="${failonerror}">                    
   196                     <arg line="${helium.dir}/tools/localisation/create_language_pack.py @{product.name} ${rombuild.config.file.parsed}"/>
   200                     <arg line="${helium.dir}/tools/localisation/create_language_pack.py @{product.name} ${rombuild.config.file.parsed}"/>
   270         </for>    
   274         </for>    
   271     </target>
   275     </target>
   272     
   276     
   273     <!-- Localisation configuration -->
   277     <!-- Localisation configuration -->
   274     <target name="localisation-create-config">
   278     <target name="localisation-create-config">
   275         <record name="${build.log.dir}/${build.id}_localisation_config.log" action="start"/>
   279         <mkdir dir="${localisation.log.dir}"/>
       
   280         <hlm:record name="${localisation.log.dir}/${build.id}_localisation_config.log" action="start"/>
   276         <antcall target="localisation-create-languagepack" />
   281         <antcall target="localisation-create-languagepack" />
   277         <antcall target="localisation-create-cenrep" />
   282         <antcall target="localisation-create-cenrep" />
   278         <copy file="${helium.dir}/tools/localisation/templates/rom/mc_variant_imaker.oby" todir="${build.drive}/epoc32/rom"/>
   283         <copy file="${helium.dir}/tools/localisation/templates/rom/mc_variant_imaker.oby" todir="${build.drive}/epoc32/rom"/>
   279         <record name="${build.log.dir}/${build.id}_localisation_config.log" action="stop"/>
   284         <hlm:record name="${localisation.log.dir}/${build.id}_localisation_config.log" action="stop"/>
   280     </target>
   285     </target>
   281 
   286 
   282     <!-- Localise resources using either EC / EBS based on build system type-->
   287     <!-- Localise resources using either EC / EBS based on build system type-->
   283     <target name="localise-resources">
   288     <target name="localise-resources">
   284         <copy file="${helium.dir}/tools/localisation/localiser/isis_EClocaliser.pl" todir="${build.drive}/epoc32/tools"/>
   289         <copy file="${helium.dir}/tools/localisation/localiser/isis_EClocaliser.pl" todir="${build.drive}/epoc32/tools"/>
   305             </else>
   310             </else>
   306         </if>        
   311         </if>        
   307         <!-- localisation build cleanup -->
   312         <!-- localisation build cleanup -->
   308         <echo message="isis_EClocaliser.pl -b=${localisation.region}_${localisation.buildfile} -state=2 -dest=&quot;${zips.loc.dir}&quot; -h" />
   313         <echo message="isis_EClocaliser.pl -b=${localisation.region}_${localisation.buildfile} -state=2 -dest=&quot;${zips.loc.dir}&quot; -h" />
   309         <exec executable="perl" dir="${build.drive}/" failonerror="${failonerror}">
   314         <exec executable="perl" dir="${build.drive}/" failonerror="${failonerror}">
   310             <arg line="${build.drive}/epoc32/tools/isis_EClocaliser.pl ${localisation.files} ${localisation.files.region} -b=${build.log.dir}/${build.id}.${localisation.region}_${localisation.buildfile} -state=2 -c=&quot;${localisation.languages}&quot; -dest=&quot;${zips.loc.dir}&quot; -s60locfiles=&quot;${localisation.s60locfiles.dir}&quot; -l=&quot;${localisation.log}&quot; -nolocal -k"/>
   315             <arg line="${build.drive}/epoc32/tools/isis_EClocaliser.pl ${localisation.files} ${localisation.files.region} -b=${temp.build.dir}/${build.id}.${localisation.region}_${localisation.buildfile} -state=2 -c=&quot;${localisation.languages}&quot; -dest=&quot;${zips.loc.dir}&quot; -s60locfiles=&quot;${localisation.s60locfiles.dir}&quot; -l=&quot;${localisation.log}&quot; -nolocal -k"/>
   311         </exec>
   316         </exec>
   312     </target>
   317     </target>
   313 
   318 
   314 
   319 
   315     <!-- Localise resources using EBS-->
   320     <!-- Localise resources using EBS-->
   334     <target name="localisation-emake" if="build.system.ec-helium" depends="set-arm-version" >
   339     <target name="localisation-emake" if="build.system.ec-helium" depends="set-arm-version" >
   335         <propertycopy name="localisation.files.region" from="localisation.files.${localisation.region}" />
   340         <propertycopy name="localisation.files.region" from="localisation.files.${localisation.region}" />
   336         <for list="${isis_mktarget.list}" delimiter="," param="mktarget">
   341         <for list="${isis_mktarget.list}" delimiter="," param="mktarget">
   337             <sequential>
   342             <sequential>
   338                 <hlm:recordStartMacro name="@{mktarget}.log" emacsmode="true"/>
   343                 <hlm:recordStartMacro name="@{mktarget}.log" emacsmode="true"/>
   339                 <hlm:emakeMacro name="localisation" makefile="${build.drive}/${localisation.region}_${localisation.buildfile}.make" target="@{mktarget}" dir="${build.drive}/" annodetail="basic,history,file,waiting"/>
   344                 <hlm:emakeMacro name="localisation" makefile="${build.drive}/${localisation.region}_${localisation.buildfile}.make" target="@{mktarget}" dir="${build.drive}/" annodetail="basic,history,file,waiting" phase="localisation"/>
   340                 <hlm:recordStopMacro name="@{mktarget}.log"/>
   345                 <hlm:recordStopMacro name="@{mktarget}.log"/>
   341             </sequential>
   346             </sequential>
   342         </for>
   347         </for>
   343     </target>
   348     </target>
   344 
   349 
   353     </target>
   358     </target>
   354     
   359     
   355     
   360     
   356     <!-- Build localised content -->
   361     <!-- Build localised content -->
   357     <target name="localisation-build" depends="rombuild-prepare-input">
   362     <target name="localisation-build" depends="rombuild-prepare-input">
   358         <record name="${build.log.dir}/${build.id}_localisation_build.log" action="start"/>
   363         <hlm:record name="${localisation.log.dir}/${build.id}_localisation_build.log" action="start"/>
   359         <copy file="${parse_abld_what.tool}" todir="${build.drive}/epoc32/tools/s60tools" failonerror="false"/>
   364         <copy file="${parse_abld_what.tool}" todir="${build.drive}/epoc32/tools/s60tools" failonerror="false"/>
   360         <mkdir dir="${zips.loc.dir}"/>    
   365         <mkdir dir="${zips.loc.dir}"/>    
   361         
   366         
   362         <!-- get all variation available -->    
   367         <!-- get all variation available -->    
   363         <exec executable="python" outputproperty="localisation.variation" dir="${build.drive}/" failonerror="${failonerror}">
   368         <exec executable="python" outputproperty="localisation.variation" dir="${build.drive}/" failonerror="${failonerror}">
   393                         </for>
   398                         </for>
   394                     </sequential>
   399                     </sequential>
   395                 </for>
   400                 </for>
   396             </sequential>
   401             </sequential>
   397         </for>
   402         </for>
   398         <record name="${build.log.dir}/${build.id}_localisation_build.log" action="stop"/>
   403         <hlm:record name="${localisation.log.dir}/${build.id}_localisation_build.log" action="stop"/>
   399     </target>
   404     </target>
   400     
   405     
   401     
   406     
   402     <!--
   407     <!--
   403         Target to rebuild locales 
   408         Target to rebuild locales 
   404         This could be useful for incremental changes/test.
   409         This could be useful for incremental changes/test.
   405     -->
   410     -->
   406     <target name="localisation-create-locales"> 
   411     <target name="localisation-create-locales">
   407         <record name="${build.log.dir}/${build.id}_create_locales.log" action="start"/>
   412         <mkdir dir="${localisation.log.dir}"/>
       
   413         <hlm:record name="${localisation.log.dir}/${build.id}_create_locales.log" action="start"/>
   408         
   414         
   409         <!-- get all variation available -->    
   415         <!-- get all variation available -->    
   410         <exec executable="python" outputproperty="localisation.variation" dir="${build.drive}/" failonerror="${failonerror}">
   416         <exec executable="python" outputproperty="localisation.variation" dir="${build.drive}/" failonerror="${failonerror}">
   411             <arg line="${helium.dir}/tools/localisation/getallvariantion.py ${localisation.language.file}"/> 
   417             <arg line="${helium.dir}/tools/localisation/getallvariantion.py ${localisation.language.file}"/> 
   412         </exec>
   418         </exec>
   433                         </for>
   439                         </for>
   434                     </sequential>
   440                     </sequential>
   435                 </for>
   441                 </for>
   436             </sequential>
   442             </sequential>
   437         </for>
   443         </for>
   438         <record name="${build.log.dir}/${build.id}_create_locales.log" action="stop"/>
   444         <hlm:record name="${localisation.log.dir}/${build.id}_create_locales.log" action="stop"/>
   439     </target>    
   445     </target>    
   440 
   446 
   441     
   447     
   442     <!-- Creates localised rom images -->
   448     <!-- Creates localised rom images -->
   443     <target name="localisation-roms" depends="rombuild-create-makefile,flash-config-file"> 
   449     <target name="localisation-roms" depends="rombuild-create-makefile,flash-config-file"> 
       
   450         <mkdir dir="${localisation.log.dir}"/>
   444         <!-- get product path -->
   451         <!-- get product path -->
   445         <record name="${build.log.dir}/${build.id}_localisation_roms.log" action="start"/>
   452         <hlm:record name="${localisation.log.dir}/${build.id}_localisation_roms.log" action="start"/>
   446         <hlm:preECImakerMacro/>
   453         <hlm:preECImakerMacro/>
   447         <for list="${product.list}" delimiter="," param="product.name" >
   454         <for list="${product.list}" delimiter="," param="product.name" >
   448             <sequential>
   455             <sequential>
   449                 <hlm:rombuildImakerMacro product="@{product.name}" target="${localisation.makefile.target}" />
   456                 <hlm:rombuildImakerMacro product="@{product.name}" target="${localisation.makefile.target}" />
   450             </sequential>
   457             </sequential>
   451         </for>
   458         </for>
   452         <hlm:ecImakerMacro makefile.target="${localisation.makefile.target}" />
   459         <hlm:ecImakerMacro makefile.target="${localisation.makefile.target}" />
   453         <record name="${build.log.dir}/${build.id}_localisation_roms.log" action="stop"/>
   460         <hlm:record name="${localisation.log.dir}/${build.id}_localisation_roms.log" action="stop"/>
   454         <hlm:logextract file="${build.log.dir}/${build.id}_localisation_roms.log"/>
   461         <hlm:logextract file="${localisation.log.dir}/${build.id}_localisation_roms.log"/>
   455     </target>
   462     </target>
   456 
   463 
   457     
   464     
   458     <!-- Creates customer rom images -->
   465     <!-- Creates customer rom images -->
   459     <target name="customer-roms" depends="rombuild-create-makefile,flash-config-file"> 
   466     <target name="customer-roms" depends="rombuild-create-makefile,flash-config-file"> 
       
   467         <mkdir dir="${localisation.log.dir}"/>
   460         <!-- get product path -->
   468         <!-- get product path -->
   461         <record name="${build.log.dir}/${build.id}_customer_roms.log" action="start"/>
   469         <hlm:record name="${localisation.log.dir}/${build.id}_customer_roms.log" action="start"/>
   462         <hlm:preECImakerMacro/>
   470         <hlm:preECImakerMacro/>
   463         <for list="${product.list}" delimiter="," param="product.name" >
   471         <for list="${product.list}" delimiter="," param="product.name" >
   464             <sequential>
   472             <sequential>
   465                 <hlm:rombuildImakerMacro product="@{product.name}" target="${customer.makefile.target}" />
   473                 <hlm:rombuildImakerMacro product="@{product.name}" target="${customer.makefile.target}" />
   466             </sequential>
   474             </sequential>
   467         </for>
   475         </for>
   468         <hlm:ecImakerMacro makefile.target="${customer.makefile.target}" />
   476         <hlm:ecImakerMacro makefile.target="${customer.makefile.target}" />
   469         <record name="${build.log.dir}/${build.id}_customer_roms.log" action="stop"/>
   477         <hlm:record name="${localisation.log.dir}/${build.id}_customer_roms.log" action="stop"/>
   470         <hlm:logextract file="${build.log.dir}/${build.id}_customer_roms.log"/>
   478         <hlm:logextract file="${localisation.log.dir}/${build.id}_customer_roms.log"/>
   471     </target>
   479     </target>
   472 
   480 
   473     
   481     
   474     <!-- Runs localisation for product builds.
   482     <!-- Runs localisation for product builds.
   475     
   483