|
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> |