Symbian3/SDK/Source/GUID-5A3A3EA0-6C03-56F2-B277-B61A27ABFF9E.dita
changeset 13 48780e181b38
parent 12 80ef3a206772
child 14 578be2adaf3e
equal deleted inserted replaced
12:80ef3a206772 13:48780e181b38
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-5A3A3EA0-6C03-56F2-B277-B61A27ABFF9E" xml:lang="en"><title>abld
       
    13 command syntax overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>The <filepath>abld</filepath> batch file is used to control all aspects
       
    15 of building a project. The batch file is created using <filepath>bldmake</filepath> from
       
    16 a component description file. </p>
       
    17 <section><title>Invocation syntax </title><p> <codeph>abld [
       
    18 test ]</codeph>  <varname>command</varname> [ <varname>options</varname> ]
       
    19 [ <varname>platform</varname> [ <varname>build</varname> [ <varname>program</varname> ]
       
    20 ] ] </p><p>The usage for test, <varname>command</varname>, <varname>options</varname>, <varname>platform</varname>, <varname>build</varname>,
       
    21 and <varname>program</varname> are detailed in the following sections. </p><p> <b>Note:</b> For
       
    22 certain <filepath>abld</filepath> commands, parameters such as <varname>platform</varname>, <varname>build</varname>,
       
    23 and <varname>program</varname>, do not apply. For example, <codeph>abld export</codeph> does
       
    24 not require these parameters, as exports do not depend on <varname>build</varname>, <varname>platform</varname>,
       
    25 or <varname>program</varname>. </p><p><b>command </b> </p><p>You can use the
       
    26 following commands with <codeph>abld</codeph>: </p><table id="GUID-EF09108F-BFFC-5094-95BB-A34D3A86BCED">
       
    27 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    28 <thead>
       
    29 <row>
       
    30 <entry>Command</entry>
       
    31 <entry>Purpose</entry>
       
    32 </row>
       
    33 </thead>
       
    34 <tbody>
       
    35 <row>
       
    36 <entry><p> <codeph>build</codeph>  </p> </entry>
       
    37 <entry><p>To build the binaries for the specified target. It is a combination
       
    38 of the commands, <codeph>export</codeph>, <codeph>makefile</codeph>, <codeph>library</codeph>, <codeph>resource</codeph>, <codeph>target</codeph>,
       
    39 and <codeph>final</codeph>. </p> </entry>
       
    40 </row>
       
    41 <row>
       
    42 <entry><p> <codeph>clean</codeph>  </p> </entry>
       
    43 <entry><p>To remove everything built for the <codeph>abld target</codeph>. </p> </entry>
       
    44 </row>
       
    45 <row>
       
    46 <entry><p> <codeph>cleanexport</codeph>  </p> </entry>
       
    47 <entry><p>To remove files created by the <codeph>abld</codeph> <codeph>export</codeph> command. </p> </entry>
       
    48 </row>
       
    49 <row>
       
    50 <entry><p> <codeph>export</codeph>  </p> </entry>
       
    51 <entry><p>To copy the exported files to their destination. </p> </entry>
       
    52 </row>
       
    53 <row>
       
    54 <entry><p> <codeph>final</codeph>  </p> </entry>
       
    55 <entry><p>To allow extension makefiles to run final commands. </p> </entry>
       
    56 </row>
       
    57 <row>
       
    58 <entry><p> <codeph>freeze</codeph>  </p> </entry>
       
    59 <entry><p>To freeze the exported functions in a <filepath>.def</filepath> file. </p> </entry>
       
    60 </row>
       
    61 <row>
       
    62 <entry><p> <codeph>help</codeph>  </p> </entry>
       
    63 <entry><p>To display commands, options, or help about a particular command. </p> </entry>
       
    64 </row>
       
    65 <row>
       
    66 <entry><p> <codeph>library</codeph>  </p> </entry>
       
    67 <entry><p>To create import libraries from the frozen <filepath>.def</filepath> files. </p> </entry>
       
    68 </row>
       
    69 <row>
       
    70 <entry><p> <codeph>listing</codeph>  </p> </entry>
       
    71 <entry><p>To create an assembler listing file for a particular source file. </p> </entry>
       
    72 </row>
       
    73 <row>
       
    74 <entry><p> <codeph>makefile</codeph>  </p> </entry>
       
    75 <entry><p>To create makefiles or IDE workspaces. </p> </entry>
       
    76 </row>
       
    77 <row>
       
    78 <entry><p> <codeph>reallyclean</codeph>  </p> </entry>
       
    79 <entry><p>To remove all the files. It is similar to the <codeph>clean</codeph> command,
       
    80 and additionally removes exported files and makefiles. </p> </entry>
       
    81 </row>
       
    82 <row>
       
    83 <entry><p> <codeph>resource</codeph>  </p> </entry>
       
    84 <entry><p>To create resource files and bitmaps. </p> </entry>
       
    85 </row>
       
    86 <row>
       
    87 <entry><p> <codeph>target</codeph>  </p> </entry>
       
    88 <entry><p>To create the main executable file and also the resources. </p> </entry>
       
    89 </row>
       
    90 <row>
       
    91 <entry><p> <codeph>tidy</codeph>  </p> </entry>
       
    92 <entry><p>To remove executable files which need not be released. </p> </entry>
       
    93 </row>
       
    94 </tbody>
       
    95 </tgroup>
       
    96 </table><p><b>options </b> </p><p>You can use the following options with <codeph>abld</codeph>: </p><table id="GUID-722871C1-088A-50C4-B335-213340988C76">
       
    97 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    98 <thead>
       
    99 <row>
       
   100 <entry>Option</entry>
       
   101 <entry>Purpose</entry>
       
   102 </row>
       
   103 </thead>
       
   104 <tbody>
       
   105 <row>
       
   106 <entry><p> <codeph>-check or -c</codeph>  </p> </entry>
       
   107 <entry><p>To check whether the filenames of the executable and resource files
       
   108 are compatible for Linux builds. </p> </entry>
       
   109 </row>
       
   110 <row>
       
   111 <entry><p> <codeph>-debug</codeph>  </p> </entry>
       
   112 <entry><p>To generate symbolic debug information for release or debug builds. </p> </entry>
       
   113 </row>
       
   114 <row>
       
   115 <entry><p> <codeph>-keepgoing or -k</codeph>  </p> </entry>
       
   116 <entry><p>To build unrelated targets on error. </p> </entry>
       
   117 </row>
       
   118 <row>
       
   119 <entry><p> <codeph>-no_debug</codeph>  </p> </entry>
       
   120 <entry><p>To not generate symbolic debug information for release or debug
       
   121 builds. </p> </entry>
       
   122 </row>
       
   123 <row>
       
   124 <entry><p> <codeph>-savespace or -s</codeph>  </p> </entry>
       
   125 <entry><p>To delete intermediate files on success. </p> </entry>
       
   126 </row>
       
   127 <row>
       
   128 <entry><p> <codeph>-verbose or -v</codeph>  </p> </entry>
       
   129 <entry><p>To display the progress of the <codeph>abld</codeph> command. </p> </entry>
       
   130 </row>
       
   131 <row>
       
   132 <entry><p> <codeph>-what or -w</codeph>  </p> </entry>
       
   133 <entry><p>To list all releaseables, which include executable/map files, resource
       
   134 files and so on. </p> </entry>
       
   135 </row>
       
   136 <row>
       
   137 <entry><p> <codeph>-I &lt;platform&gt;</codeph>  </p> </entry>
       
   138 <entry><p>To specify the ARM target to build for, overriding other settings. </p> </entry>
       
   139 </row>
       
   140 <row>
       
   141 <entry><p> <codeph>-wrap[=&lt;value&gt;]</codeph>  </p> </entry>
       
   142 <entry><p>A static analysis tool can be invoked if <codeph>[=&lt;value&gt;]</codeph> is
       
   143 not specified. For example, <codeph>-wrap</codeph>. Alternatively, a run-time
       
   144 analysis tool can be invoked if <codeph>&lt;value&gt;</codeph> is specified as <codeph>proxy</codeph>.
       
   145 For example, <codeph>-wrap=proxy</codeph>. </p> </entry>
       
   146 </row>
       
   147 </tbody>
       
   148 </tgroup>
       
   149 </table><p> <b>Notes:</b>  </p><ul>
       
   150 <li id="GUID-3B421EA1-26FB-5535-9808-C22DAC6801E8"><p>You can use <codeph>-debug</codeph> or <codeph>-no_debug</codeph> options
       
   151 irrespective of the output build type, that is, <codeph>UREL</codeph> or <codeph>UDEB</codeph>. </p> </li>
       
   152 <li id="GUID-0C2D4993-9231-5868-A321-615048F365B1"><p>All options are not
       
   153 applicable to all the commands. Wherever applicable, they can be specified
       
   154 in their long or short forms. For example, </p> <p> <codeph>-keepgoing</codeph> (long
       
   155 form) </p> <p>or </p> <p> <codeph>-k</codeph> (short form) </p> </li>
       
   156 </ul><p><b>platform </b> </p><p>This specifies the target platform. Possible
       
   157 platforms are: </p><table id="GUID-35EAE8DD-DBC1-5DA4-9419-8274A2C8AF28">
       
   158 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
   159 <thead>
       
   160 <row>
       
   161 <entry>Target platform</entry>
       
   162 <entry>Purpose</entry>
       
   163 </row>
       
   164 </thead>
       
   165 <tbody>
       
   166 <row>
       
   167 <entry><p> <codeph>all</codeph>  </p> </entry>
       
   168 <entry><p>To build for all platforms. </p> </entry>
       
   169 </row>
       
   170 <row>
       
   171 <entry><p> <codeph>armv5</codeph>  </p> </entry>
       
   172 <entry><p>To build for ABI v1 of ARMV5 architecture using the RealView Compilation
       
   173 Tools (RVCT). </p> </entry>
       
   174 </row>
       
   175 <row>
       
   176 <entry><p> <codeph>armv5_abiv2</codeph>  </p> </entry>
       
   177 <entry><p>To build for ABI v2 of ARMV5 architecture using RVCT. </p> </entry>
       
   178 </row>
       
   179 <row>
       
   180 <entry><p> <codeph>armv6</codeph>  </p> </entry>
       
   181 <entry><p>To build for ABI v2 of ARMV6 architecture using RVCT. </p> </entry>
       
   182 </row>
       
   183 <row>
       
   184 <entry><p> <codeph>armv6t2</codeph>  </p> </entry>
       
   185 <entry><p>To build for ABI v2 of ARMV6 architecture that supports Thumb-2
       
   186 instruction set, using RVCT. </p> </entry>
       
   187 </row>
       
   188 <row>
       
   189 <entry><p> <codeph>armv7</codeph>  </p> </entry>
       
   190 <entry><p>To build for ABI v2 of ARMV7 architecture that supports Thumb-2
       
   191 instruction set, using RVCT. </p> </entry>
       
   192 </row>
       
   193 <row>
       
   194 <entry> <codeph>cw_ide</codeph>  <p/> </entry>
       
   195 <entry><p>To build the Metrowerks CodeWarrior project file (importable <filepath>.xml</filepath> file). </p> </entry>
       
   196 </row>
       
   197 <row>
       
   198 <entry><p> <codeph>gcce</codeph>  </p> </entry>
       
   199 <entry><p>To build for ABI v2 of ARMV5 architecture using the GNU GCC compiler. </p> </entry>
       
   200 </row>
       
   201 <row>
       
   202 <entry><p> <codeph>gccev6</codeph>  </p> </entry>
       
   203 <entry><p>To build for ABI v2 of ARMV6 architecture using the GNU GCC compiler. </p> </entry>
       
   204 </row>
       
   205 <row>
       
   206 <entry><p> <codeph>gccev6t2</codeph>  </p> </entry>
       
   207 <entry><p>To build for ABI v2 of ARMV6 architecture that supports Thumb-2
       
   208 instruction set, using the GNU GCC compiler. </p> </entry>
       
   209 </row>
       
   210 <row>
       
   211 <entry><p> <codeph>gccev7</codeph>  </p> </entry>
       
   212 <entry><p>To build for ABI v2 of ARMV7 architecture that supports Thumb-2
       
   213 instruction set, using the GNU GCC compiler. </p> </entry>
       
   214 </row>
       
   215 <row>
       
   216 <entry><p> <codeph>gccxml</codeph>  </p> </entry>
       
   217 <entry><p>To generate the XML description of the project and the program using
       
   218 GCC XML. </p> </entry>
       
   219 </row>
       
   220 <row>
       
   221 <entry><p> <codeph>vs6</codeph>  </p> </entry>
       
   222 <entry><p>To create the project files suitable for opening the project in
       
   223 Microsoft Visual Studio IDE, version Visual C++ v6. </p> </entry>
       
   224 </row>
       
   225 <row>
       
   226 <entry><p> <codeph>vs2003</codeph>  </p> </entry>
       
   227 <entry><p>To create the project files suitable for opening the project in
       
   228 Microsoft Visual Studio IDE, version .NET2003. </p> </entry>
       
   229 </row>
       
   230 <row>
       
   231 <entry><p> <codeph>winscw</codeph>  </p> </entry>
       
   232 <entry><p>To build for the Symbian emulator on Microsoft Windows, using the
       
   233 Metrowerks CodeWarrior compiler. </p> </entry>
       
   234 </row>
       
   235 </tbody>
       
   236 </tgroup>
       
   237 </table><p> <b>Note</b>: The target platforms, <codeph>armv5</codeph> and <codeph>armv5_abiv2</codeph> are
       
   238 compatible with Symbian OS v9.4 or earlier versions. From Symbian OS v9.4
       
   239 onwards, these build platforms are renamed as <codeph>armv5</codeph> and <codeph>armv5_abiv1</codeph> to
       
   240 generate binaries and libraries conforming to ABI v2 and ABI v1 respectively. </p><p>If <varname>platform</varname> is
       
   241 not specified, or is specified as <codeph>all</codeph>, then <codeph>abld</codeph> will
       
   242 build for all the platforms specified in the component description file. </p><p>Basenames
       
   243 of <filepath>.mmp</filepath> files or extension makefiles must not be platform
       
   244 names. </p><p><b>build </b> </p><p>This specifies the build type. Possible
       
   245 types are: </p><table id="GUID-AAD6A56F-61FD-5CB4-B196-FE201E9EE298">
       
   246 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
   247 <tbody>
       
   248 <row>
       
   249 <entry><p> <codeph>udeb</codeph>  </p> </entry>
       
   250 <entry><p>Debug build </p> </entry>
       
   251 </row>
       
   252 <row>
       
   253 <entry><p> <codeph>urel</codeph>  </p> </entry>
       
   254 <entry><p>Release build </p> </entry>
       
   255 </row>
       
   256 <row>
       
   257 <entry><p> <codeph>all</codeph>  </p> </entry>
       
   258 <entry><p>Debug and release builds </p> </entry>
       
   259 </row>
       
   260 </tbody>
       
   261 </tgroup>
       
   262 </table><p>If <varname>build</varname> is not specified, or specified as <codeph>all</codeph>,
       
   263 then <codeph>abld</codeph> will build for both <codeph>udeb</codeph> and <codeph>urel</codeph>. </p><p>Basenames
       
   264 of <filepath>.mmp</filepath> files or extension makefiles must not be build
       
   265 type names. </p><p><b>program </b> </p><p>This specifies the basename of a
       
   266 particular <filepath>.mmp</filepath> file or extension makefile, in order
       
   267 to limit the command to a single project within a component. </p><p>If <varname>program</varname> is
       
   268 not specified, then all the projects within the component are built. </p><p><b>test </b> </p><p>If <codeph>test</codeph> is
       
   269 specified before <codeph>command</codeph>, the <codeph>command</codeph> will
       
   270 build all the projects defined by <filepath>.mmp</filepath> files listed in
       
   271 the <codeph>prj_testmmpfiles</codeph> section of the component description
       
   272 file, rather than those listed in the <codeph>prj_mmpfiles</codeph> section. </p><p> <b>Note:</b> The <codeph>test</codeph> parameter
       
   273 is not relevant for some commands, and in those cases, it cannot be specified. </p></section>
       
   274 </conbody></concept>