core/com.nokia.carbide.cpp.doc.user/html/concepts/build_system.htm
author Deepak Modgil <Deepak.Modgil@Nokia.com>
Fri, 03 Apr 2009 23:33:03 +0100
changeset 0 fb279309251b
child 1225 a546534a48de
permissions -rw-r--r--
DP tools release version Revision: 200912
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     2
<html>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     3
<head>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     4
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     5
<meta http-equiv="Content-Style-Type" content="text/css" />
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     6
<meta name="LASTUPDATED" content="06/17/05 11:09:43" />
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     7
<title>Build System Overview</title>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     8
<link rel="StyleSheet" href="../../book.css" type="text/css"/>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     9
</head>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    10
<body bgcolor="#FFFFFF">
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    11
<h2>Build System Overview </h2>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    12
<p>The Carbide.c++ build system provides a wrapper around the standard Symbian OS build process utilizing component description files (bld.inf) and project definition files (.mmp files). Because the Carbide.++ build system provides a visual view into this system, it will be useful for new developers to the Symbian OS to become familiar with the basic Symbian OS build process. Further information on the Symbian OS build system can be found in the <a href="http://developer.symbian.com/main/oslibrary/osdocs/index.jsp">Symbian Developer Library</a> under the <b>Build Tools Guide</b> and <b>Build Tools Reference</b> sections. If you are already familiar with the Symbian OS build system then you should feel right at home with the Carbide.c++ builder user interface. </p>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    13
<p>In Carbide.c++, as in the Symbian OS, a project is described by a <span class="code">bld.inf</span> file. Hence, all projects must start with a <span class="code">bld.inf</span> file. Carbide.c++ supports either building all components of a project (including extension makefiles) or only building selected sub-components. This gives the developer the granularity to either build all of a project&#8217;s dependencies or, if you are working on very large projects, only building a small sub-component of a larger project. </p>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    14
<h4>Basic Build Commands </h4>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    15
<p>There are several methods of invoking the Symbian OS build tools on a project or source file. </p>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    16
<ul>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    17
  <li><b>Build Project</b> - The is the default build process which invokes the call: calls <span class="code">'abld build &lt;platform&gt; &lt;target&gt;'</span>. The basic build process insures that the project definition makefiles are up to date and calls 'bldmake bldfiles' for the current platform where necessary. </li>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    18
  <li><b>Compile</b> - This command simply compiles a single file for a project by calling its <span class="code">makefile</span> target directly.</li>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    19
  <li><b>Build All Configurations</b> - This command invokes the same command as Build Project, but on all configurations in the selected project.</li>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    20
  <li><b>Build Symbian Component</b> - This is a context menu option available on .mmp and .mk files only. You can use this to build a component outside the normal build process. This command invokes: <span class="code">'abld build &lt;platform&gt; &lt;target&gt;'</span> on the selected component. </li>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    21
</ul>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    22
<p class="note"><b>NOTE</b> The debugger has a setting under the Run/Debug &gt; Launching preference page which performs a full build before the start of each debug session. If you prefer to do your own target build only you will want to turn the &#8220;Build (if required) before launching&#8221; setting off. </p>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    23
<h4>Command Line Arguments</h4>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    24
<p>The Carbide build system supports the use of command-line arguments for all stages of the build system. You can add these arguments in the <a href="../reference/build_properties/pane_build_config_args.htm">Arguments</a> pane of the 
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    25
<b>Carbide Build Configurations</b> panel in the <b>Properties for &lt;<i>project</i>&gt;</b> window.</p>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    26
<p>For example, to generate a SYM file for UREL build you need to add the <span class="code">-debug</span> argument to the <b>abld makefile</b> stage of the build process. </p>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    27
<p>Always refer to the <a href="http://developer.symbian.com/main/oslibrary/osdocs/index.jsp">Symbian Developer Library</a> to learn which arguments are supported by the SDK used by the project. </p>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    28
<h5>Other references </h5>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    29
<ul>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    30
  <li><a href="../reference/menus/build_all_targets.htm">Build All Configurations</a></li>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    31
  <li><a href="../reference/build_properties/pane_build_config.htm">Carbide Build Configurations</a></li>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    32
</ul>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    33
<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    34
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    35
</body>
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    36
</html>