Adaptation/GUID-AFA1604D-FF0C-56BE-A71E-AF3C662F8943.dita
changeset 15 307f4279f433
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Adaptation/GUID-AFA1604D-FF0C-56BE-A71E-AF3C662F8943.dita	Fri Oct 15 14:32:18 2010 +0100
@@ -0,0 +1,102 @@
+<?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-AFA1604D-FF0C-56BE-A71E-AF3C662F8943" xml:lang="en"><title>Platform-Specific
+Makefile</title><shortdesc>Describes how to write the platform-specific makefile to build
+the bootstrap.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The platform-specific makefile sets some variables for file and path names
+and then includes the generic makefile. </p>
+<p>The makefile consists of a collection of variables divided into a mandatory
+set, which <i>must</i> have values assigned, and an optional set. </p>
+<p>The values are used by the Symbian platform generic makefile. </p>
+<section id="GUID-B949A719-49FB-5D45-BC34-B1A6F90D2D25"><title>Mandatory variables</title><table id="GUID-3A058FA9-6656-5C67-8498-1C6F4AA59687">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<tbody>
+<row>
+<entry><p> <codeph>NAME</codeph>  </p> </entry>
+<entry><p>This the name of the bootstrap binary file. The filename is <filepath>NAME.bin</filepath> and
+it appears in <filepath>EPOCROOT/epoc32/release/PLATFORM</filepath> where
+PLATFORM is e.g. ARM4, ARMV5 etc. </p> </entry>
+</row>
+<row>
+<entry><p> <codeph>MEMMODEL</codeph>  </p> </entry>
+<entry><p>This specifies which memory model is to be used on the target platform.
+Valid values are: </p><ul>
+<li id="GUID-8555F19E-C904-51DB-AAA2-03FBAD463572"><p> <codeph>direct</codeph>  </p> </li>
+<li id="GUID-E2BFCDB6-E2D7-597F-A1A6-82DE5E3A24D6"><p> <codeph>moving</codeph>  </p> </li>
+<li id="GUID-DFE497B1-7C4E-5C53-BBC5-42F76AA88317"><p> <codeph>multiple</codeph>  </p> </li>
+</ul><p>Platforms that use an ARM architecture 4, 4T or 5 will use <codeph>moving</codeph> for
+the main bootstrap.</p><p>Platforms that use ARM architecture 6 will use <codeph>multiple</codeph>. </p><p>Usually, <codeph>direct</codeph> will
+only be used when building a bootloader. </p> </entry>
+</row>
+<row>
+<entry><p> <codeph>SOURCES</codeph>  </p> </entry>
+<entry><p>Specifies a list of platform-dependent assembler source files, each
+separated by at least one space, needed to build the bootstrap. Only file
+names are required, not paths. </p> <p>In the example of the template, there
+is a single source file, <filepath>template.s</filepath>. </p> </entry>
+</row>
+<row>
+<entry><p> <codeph>INCLUDES</codeph>  </p> </entry>
+<entry><p>Specifies a list of platform-dependent assembler include files,
+each separated by at least one space, needed to build the bootstrap. Only
+file names are required, not paths. </p> <p>In the example of the template,
+there is a single include file, <filepath>config.inc</filepath>. </p> </entry>
+</row>
+<row>
+<entry><p> <codeph>E32PATH</codeph>  </p> </entry>
+<entry><p>Specifies the relative path from the directory containing the platform-specific
+makefile to the directory containing the <filepath>e32</filepath> source tree.
+This is used to find the generic source and the generic include files required
+to build the bootstrap. </p> <p>In the example of the template, the path is <filepath>../..</filepath>. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-77F41D8D-CB34-57DA-ADB0-48A2EC25F698"><title>Optional variables</title> <table id="GUID-E24A5C3A-8685-5E33-BD43-AF8CAB90EB95">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<tbody>
+<row>
+<entry><p> <codeph>EXTRA_INC_PATH</codeph>  </p> </entry>
+<entry><p>Specifies a list of directories, each separated by at least one
+space, which should be searched for assembler include files (<filepath>.inc</filepath>),
+and possibly C/C++ header files (<filepath>.h</filepath>) to be translated
+into assembler syntax. </p> <p>Each entry in this list is relative to the
+directory in which the platform-specific makefile resides. </p> </entry>
+</row>
+<row>
+<entry><p> <codeph>EXTRA_SRC_PATH</codeph>  </p> </entry>
+<entry><p>Specifies a list of directories, each separated by at least one
+space, which should be searched for assembler source files (<filepath>.s</filepath>). </p> <p>Each
+entry in this list is relative to the directory in which the platform-specific
+makefile resides. </p> </entry>
+</row>
+<row>
+<entry><p> <codeph>GENINCLUDES</codeph>  </p> </entry>
+<entry><p>Specifies a list of additional C/C++ header files (<filepath>.h</filepath>),
+each separated by at least one space, which should be translated into assembler
+syntax include files (<filepath>.inc</filepath>) for inclusion in assembler
+source. </p> <p>For example, if a file <filepath>x.h</filepath> is specified
+in this list, it will be translated to <filepath>x.inc</filepath> in the build
+directory, and it should be included as <filepath>x.inc</filepath> in any
+source file which requires it. </p> </entry>
+</row>
+<row>
+<entry><p> <codeph>ASM_MACROS</codeph>  </p> </entry>
+<entry><p>Specifies a list of additional symbols, each separated by at least
+one space, which should be defined when assembling each source file. Values
+may not be assigned to the symbols; all that can be tested is whether a symbol
+is defined. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+</conbody></concept>
\ No newline at end of file