<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >

<book id='sdk-manual' lang='en'
      xmlns:xi="http://www.w3.org/2003/XInclude"
      xmlns="http://docbook.org/ns/docbook"
      >
    <bookinfo>

        <mediaobject>
            <imageobject>
                <imagedata fileref='figures/sdk-title.png'
                    format='SVG'
                    align='left' scalefit='1' width='100%'/>
            </imageobject>
        </mediaobject>

        <title>
            Yocto Project Application Development and the Extensible Software Development Kit (eSDK)
        </title>

        <authorgroup>
            <author>
                <affiliation>
                    <orgname>&ORGNAME;</orgname>
                </affiliation>
                <email>&ORGEMAIL;</email>
            </author>
        </authorgroup>

        <revhistory>
            <revision>
                <revnumber>2.1</revnumber>
                <date>April 2016</date>
                <revremark>The initial document released with the Yocto Project 2.1 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.2</revnumber>
                <date>October 2016</date>
                <revremark>Released with the Yocto Project 2.2 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.3</revnumber>
                <date>May 2017</date>
                <revremark>Released with the Yocto Project 2.3 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.4</revnumber>
                <date>October 2017</date>
                <revremark>Released with the Yocto Project 2.4 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.5</revnumber>
                <date>May 2018</date>
                <revremark>Released with the Yocto Project 2.5 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.6</revnumber>
                <date>November 2018</date>
                <revremark>Released with the Yocto Project 2.6 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.7</revnumber>
                <date>May 2019</date>
                <revremark>Released with the Yocto Project 2.7 Release.</revremark>
            </revision>
            <revision>
                <revnumber>3.0</revnumber>
                <date>October 2019</date>
                <revremark>Released with the Yocto Project 3.0 Release.</revremark>
            </revision>
            <revision>
                <revnumber>3.1</revnumber>
                <date>April 2020</date>
                <revremark>Released with the Yocto Project 3.1 Release.</revremark>
            </revision>
            <revision>
                <revnumber>3.1.1</revnumber>
                <date>June 2020</date>
                <revremark>Released with the Yocto Project 3.1.1 Release.</revremark>
            </revision>
            <revision>
                <revnumber>3.1.2</revnumber>
                <date>August 2020</date>
                <revremark>Released with the Yocto Project 3.1.2 Release.</revremark>
            </revision>
            <revision>
                <revnumber>3.1.3</revnumber>
                <date>October 2020</date>
                <revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
            </revision>
            <revision>
                <revnumber>3.1.4</revnumber>
                <date>&REL_MONTH_YEAR;</date>
                <revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
            </revision>
       </revhistory>

    <copyright>
      <year>&COPYRIGHT_YEAR;</year>
      <holder>Linux Foundation</holder>
    </copyright>

    <legalnotice>
      <para>
        Permission is granted to copy, distribute and/or modify this document under
        the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
      </para>
           <note><title>Manual Notes</title>
               <itemizedlist>
                   <listitem><para>
                       This version of the
                       <emphasis>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</emphasis>
                       manual is for the &YOCTO_DOC_VERSION; release of the
                       Yocto Project.
                       To be sure you have the latest version of the manual
                       for this release, go to the
                       <ulink url='&YOCTO_DOCS_URL;'>Yocto Project documentation page</ulink>
                       and select the manual from that site.
                       Manuals from the site are more up-to-date than manuals
                       derived from the Yocto Project released TAR files.
                       </para></listitem>
                   <listitem><para>
                       If you located this manual through a web search, the
                       version of the manual might not be the one you want
                       (e.g. the search might have returned a manual much
                       older than the Yocto Project version with which you
                       are working).
                       You can see all Yocto Project major releases by
                       visiting the
                       <ulink url='&YOCTO_WIKI_URL;/wiki/Releases'>Releases</ulink>
                       page.
                       If you need a version of this manual for a different
                       Yocto Project release, visit the
                       <ulink url='&YOCTO_DOCS_URL;'>Yocto Project documentation page</ulink>
                       and select the manual set by using the
                       "ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
                       pull-down menus.
                       </para></listitem>
                   <listitem>
                       <para>
                       To report any inaccuracies or problems with this
                       (or any other Yocto Project) manual, send an email to
                       the Yocto Project documentation mailing list at
                       <filename>docs@lists.yoctoproject.org</filename> or
                       log into the freenode <filename>#yocto</filename> channel.
                       </para>
                   </listitem>
               </itemizedlist>
           </note>
    </legalnotice>

    </bookinfo>

    <xi:include href="sdk-intro.xml"/>

    <xi:include href="sdk-extensible.xml"/>

    <xi:include href="sdk-using.xml"/>

    <xi:include href="sdk-working-projects.xml"/>

    <xi:include href="sdk-appendix-obtain.xml"/>

    <xi:include href="sdk-appendix-customizing.xml"/>

    <xi:include href="sdk-appendix-customizing-standard.xml"/>

<!--    <index id='index'>
      <title>Index</title>
    </index>
-->

</book>
<!--
vim: expandtab tw=80 ts=4
-->
