Symbian3/SDK/Source/GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-2910AB26-CA7C-50B9-A187-0C8406C1ED1F" xml:lang="en"><title>prj_extensions</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p> <codeph>prj_extensions</codeph>  </p>
<p> <codeph>start extension</codeph>  <varname>subsystem\ext-template</varname>  </p>
<p>[<codeph>target</codeph>  <varname>target_file_name</varname>] </p>
<p>[<codeph>sources</codeph>  <varname>source_file_1 ... source_file_n</varname>] </p>
<p>[<codeph>dependencies</codeph>  <varname>dependency_file_1 ...        
dependency_file_n</varname>] </p>
<p>[<codeph>tool</codeph>  <varname>toolname</varname>] </p>
<p>[<codeph>option</codeph>  <varname>key_1</varname> <varname>value_1</varname>] </p>
<p>... </p>
<p>[<codeph>option</codeph>  <varname>key_n</varname> <varname>value_n</varname>] </p>
<p> <codeph>end</codeph>  </p>
<p> <b>Note:</b> The value argument in the option statement is optional. </p>
<p>The <codeph>prj_extensions</codeph> section lists all the template extension
makefiles that are to be invoked while building the component. This approach
is introduced since Symbian OS v9.3 and it deprecates the use of <codeph>makefile</codeph> and <codeph>gnumakefile</codeph> directives
in <filepath>bld.inf</filepath> files. It is recommend to use <codeph>prj_extensions</codeph> approach
to call the extension makefile templates. </p>
<p> <i>Note that a prj_extensions section can have one or more of start extension
... end blocks.</i>  </p>
<p> <varname>subsystem/ext-template</varname> specifies the extension makefile
template name along with its path relative to the <codeph>epoc32</codeph> template
directory, which is <filepath>\epoc32\tools\makefile_templates\</filepath>.
The <codeph>.mk</codeph> suffix of the template need not be specified, as
it is handled automatically. </p>
<p>The optional <codeph>target</codeph>  <varname>target_file_name</varname> specifies
the name and location of the target to be built. </p>
<p>The optional <codeph>sources</codeph>  <varname>source_file_1 ....    
    source_file_n</varname> specifies the list of source file names along
with their path, which are required to build the <codeph>target</codeph>. </p>
<p>The optional <codeph>dependencies</codeph>  <varname>dependency_file_1
...         dependency_file_n</varname> specifies the list of dependency file
names along with their path, which are required to build the <codeph>target</codeph>.
The file extension part of the name need not be specified, as this will be
automatically supplied. </p>
<p>The optional <codeph>tool</codeph>  <varname>toolname</varname> specifies
the tool to be used to build the target. </p>
<p>The optional <codeph>option</codeph>  <varname>key_1</varname> <varname>value_1</varname> specifies
the parameter values for the template extension makefile, as key-value pairs.
These parameters are variables used in the template, and the precise set of
variables specified here are entirely dependent on the requirement. There
is no limit to the number of parameters a template extension makefile may
require and can take. </p>
<example><p>This example sets <codeph>PREFIX</codeph>, <codeph>HALPATH</codeph> and <codeph>SOURCE</codeph> options
of the template extension makefile <filepath>config.mk</filepath></p><codeblock id="GUID-E876D415-D71A-51B9-BAF7-4ABE5335947E" xml:space="preserve">PRJ_EXTENSIONS
start        extension        base\config

option         PREFIX         _SH2_
option         HALPATH        \..\..\..
option            SOURCE            \..\hal

end
</codeblock></example>
</conbody></concept>