Adaptation/GUID-AFA1604D-FF0C-56BE-A71E-AF3C662F8943.dita
changeset 15 307f4279f433
equal deleted inserted replaced
14:578be2adaf3e 15:307f4279f433
       
     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-AFA1604D-FF0C-56BE-A71E-AF3C662F8943" xml:lang="en"><title>Platform-Specific
       
    13 Makefile</title><shortdesc>Describes how to write the platform-specific makefile to build
       
    14 the bootstrap.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    15 <p>The platform-specific makefile sets some variables for file and path names
       
    16 and then includes the generic makefile. </p>
       
    17 <p>The makefile consists of a collection of variables divided into a mandatory
       
    18 set, which <i>must</i> have values assigned, and an optional set. </p>
       
    19 <p>The values are used by the Symbian platform generic makefile. </p>
       
    20 <section id="GUID-B949A719-49FB-5D45-BC34-B1A6F90D2D25"><title>Mandatory variables</title><table id="GUID-3A058FA9-6656-5C67-8498-1C6F4AA59687">
       
    21 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    22 <tbody>
       
    23 <row>
       
    24 <entry><p> <codeph>NAME</codeph>  </p> </entry>
       
    25 <entry><p>This the name of the bootstrap binary file. The filename is <filepath>NAME.bin</filepath> and
       
    26 it appears in <filepath>EPOCROOT/epoc32/release/PLATFORM</filepath> where
       
    27 PLATFORM is e.g. ARM4, ARMV5 etc. </p> </entry>
       
    28 </row>
       
    29 <row>
       
    30 <entry><p> <codeph>MEMMODEL</codeph>  </p> </entry>
       
    31 <entry><p>This specifies which memory model is to be used on the target platform.
       
    32 Valid values are: </p><ul>
       
    33 <li id="GUID-8555F19E-C904-51DB-AAA2-03FBAD463572"><p> <codeph>direct</codeph>  </p> </li>
       
    34 <li id="GUID-E2BFCDB6-E2D7-597F-A1A6-82DE5E3A24D6"><p> <codeph>moving</codeph>  </p> </li>
       
    35 <li id="GUID-DFE497B1-7C4E-5C53-BBC5-42F76AA88317"><p> <codeph>multiple</codeph>  </p> </li>
       
    36 </ul><p>Platforms that use an ARM architecture 4, 4T or 5 will use <codeph>moving</codeph> for
       
    37 the main bootstrap.</p><p>Platforms that use ARM architecture 6 will use <codeph>multiple</codeph>. </p><p>Usually, <codeph>direct</codeph> will
       
    38 only be used when building a bootloader. </p> </entry>
       
    39 </row>
       
    40 <row>
       
    41 <entry><p> <codeph>SOURCES</codeph>  </p> </entry>
       
    42 <entry><p>Specifies a list of platform-dependent assembler source files, each
       
    43 separated by at least one space, needed to build the bootstrap. Only file
       
    44 names are required, not paths. </p> <p>In the example of the template, there
       
    45 is a single source file, <filepath>template.s</filepath>. </p> </entry>
       
    46 </row>
       
    47 <row>
       
    48 <entry><p> <codeph>INCLUDES</codeph>  </p> </entry>
       
    49 <entry><p>Specifies a list of platform-dependent assembler include files,
       
    50 each separated by at least one space, needed to build the bootstrap. Only
       
    51 file names are required, not paths. </p> <p>In the example of the template,
       
    52 there is a single include file, <filepath>config.inc</filepath>. </p> </entry>
       
    53 </row>
       
    54 <row>
       
    55 <entry><p> <codeph>E32PATH</codeph>  </p> </entry>
       
    56 <entry><p>Specifies the relative path from the directory containing the platform-specific
       
    57 makefile to the directory containing the <filepath>e32</filepath> source tree.
       
    58 This is used to find the generic source and the generic include files required
       
    59 to build the bootstrap. </p> <p>In the example of the template, the path is <filepath>../..</filepath>. </p> </entry>
       
    60 </row>
       
    61 </tbody>
       
    62 </tgroup>
       
    63 </table> </section>
       
    64 <section id="GUID-77F41D8D-CB34-57DA-ADB0-48A2EC25F698"><title>Optional variables</title> <table id="GUID-E24A5C3A-8685-5E33-BD43-AF8CAB90EB95">
       
    65 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    66 <tbody>
       
    67 <row>
       
    68 <entry><p> <codeph>EXTRA_INC_PATH</codeph>  </p> </entry>
       
    69 <entry><p>Specifies a list of directories, each separated by at least one
       
    70 space, which should be searched for assembler include files (<filepath>.inc</filepath>),
       
    71 and possibly C/C++ header files (<filepath>.h</filepath>) to be translated
       
    72 into assembler syntax. </p> <p>Each entry in this list is relative to the
       
    73 directory in which the platform-specific makefile resides. </p> </entry>
       
    74 </row>
       
    75 <row>
       
    76 <entry><p> <codeph>EXTRA_SRC_PATH</codeph>  </p> </entry>
       
    77 <entry><p>Specifies a list of directories, each separated by at least one
       
    78 space, which should be searched for assembler source files (<filepath>.s</filepath>). </p> <p>Each
       
    79 entry in this list is relative to the directory in which the platform-specific
       
    80 makefile resides. </p> </entry>
       
    81 </row>
       
    82 <row>
       
    83 <entry><p> <codeph>GENINCLUDES</codeph>  </p> </entry>
       
    84 <entry><p>Specifies a list of additional C/C++ header files (<filepath>.h</filepath>),
       
    85 each separated by at least one space, which should be translated into assembler
       
    86 syntax include files (<filepath>.inc</filepath>) for inclusion in assembler
       
    87 source. </p> <p>For example, if a file <filepath>x.h</filepath> is specified
       
    88 in this list, it will be translated to <filepath>x.inc</filepath> in the build
       
    89 directory, and it should be included as <filepath>x.inc</filepath> in any
       
    90 source file which requires it. </p> </entry>
       
    91 </row>
       
    92 <row>
       
    93 <entry><p> <codeph>ASM_MACROS</codeph>  </p> </entry>
       
    94 <entry><p>Specifies a list of additional symbols, each separated by at least
       
    95 one space, which should be defined when assembling each source file. Values
       
    96 may not be assigned to the symbols; all that can be tested is whether a symbol
       
    97 is defined. </p> </entry>
       
    98 </row>
       
    99 </tbody>
       
   100 </tgroup>
       
   101 </table> </section>
       
   102 </conbody></concept>