<!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; ] >
<!--SPDX-License-Identifier: CC-BY-2.0-UK-->

<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>&REL_MONTH_YEAR;</date>
                <revremark>Released with the Yocto Project 3.1 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
-->
