

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    

    
    <title>newt target &mdash; Apache Mynewt latest documentation</title>
    

    
    
      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
    

    

    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />

    
      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
    
      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
    
      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
    
      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
    
      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
    

    

    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
          <link rel="index" title="Index"
                href="../../genindex.html"/>
          <link rel="search" title="Search" href="../../search.html"/>
      <link rel="top" title="Apache Mynewt latest documentation" href="../../index.html"/>
          <link rel="up" title="Command Structure" href="../newt_ops.html"/>
          <link rel="next" title="newt test" href="newt_test.html"/>
          <link rel="prev" title="newt size" href="newt_size.html"/> 

    
    <script src="../../_static/js/modernizr.min.js"></script>

    
    <script>
    (function(i, s, o, g, r, a, m) {
	i["GoogleAnalyticsObject"] = r;
	(i[r] =
		i[r] ||
		function() {
			(i[r].q = i[r].q || []).push(arguments);
		}),
		(i[r].l = 1 * new Date());
	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
	a.async = 1;
	a.src = g;
	m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
    

  </head>

  <body class="not-front page-documentation" role="document" >
    <div id="wrapper">
      <div class="container">
    <div id="banner" class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="../../_static/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released April 4, 2024)
            </div>
        </div>
    </div>
</div>
      
<header>
    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
        <div class="container">
            <!-- Collapsed navigation -->
            <div class="navbar-header">
                <!-- Expander button -->
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

            </div>

            <!-- Expanded navigation -->
            <div class="navbar-collapse collapse">
                <!-- Main navigation -->
                <ul class="nav navbar-nav navbar-right">
                    <li>
                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                    </li>
                    <li class="important">
                        <a href="/quick-start/">Quick Start</a>
                    </li>
                    <li>
                        <a href="/about/">About</a>
                    </li>
                    <li>
                        <a href="/talks/">Talks</a>
                    </li>
                    <li class="active">
                        <a href="/documentation/">Documentation</a>
                    </li>
                    <li>
                        <a href="/download/">Download</a>
                    </li>
                    <li>
                        <a href="/community/">Community</a>
                    </li>
                    <li>
                        <a href="/events/">Events</a>
                    </li>
                </ul>

                <!-- Search, Navigation and Repo links -->
                <ul class="nav navbar-nav navbar-right">
                    
                </ul>
            </div>
        </div>
    </nav>
</header>
      <!-- STARTS MAIN CONTENT -->
      <div id="main-content">
        





<div id="breadcrumb">
  <div class="container">
    <a href="/documentation/">Docs</a> /
    
      <a href="../index.html">Newt Tool Guide</a> /
    
      <a href="../newt_ops.html">Command Structure</a> /
    
    newt target
    
  <div class="sourcelink">
    <a href="https://github.com/apache/mynewt-newt/edit/master/docs/command_list/newt_target.rst" class="icon icon-github"
           rel="nofollow"> Edit on GitHub</a>
</div>
  </div>
</div>
        <!-- STARTS CONTAINER -->
        <div class="container">
          <!-- STARTS .content -->
          <div id="content" class="row">
            
            <!-- STARTS .container-sidebar -->
<div class="container-sidebar col-xs-12 col-sm-3">
  <div id="docSidebar" class="sticky-container">
    <div role="search" class="sphinx-search">
  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
    <!-- Note: only works when deployed -->
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest" selected>
    Version: latest
  </option>
  <option value="/v1_12_0" >
    Version: 1.12.0
  </option>
  <option value="/v1_11_0" >
    Version: 1.11.0
  </option>
  <option value="/v1_10_0" >
    Version: 1.10.0
  </option>
  <option value="/v1_9_0" >
    Version: 1.9.0
  </option>
  <option value="/v1_8_0" selected="selected" >
    Version: 1.8.0
  </option>
  <option value="/v1_7_0" >
    Version: 1.7.0
  </option>
  <option value="/v1_6_0" >
    Version: 1.6.0
  </option>
  <option value="/v1_5_0" >
    Version: 1.5.0
  </option>
  <option value="/v1_4_0" >
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select>
    <div class="region region-sidebar">
      <div class="docs-menu">
      
        
        
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../external_links.html">Third-party Resources</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../network/index.html">BLE User Guide</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Newt Tool Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../newt_operation.html">Theory of Operations</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../newt_ops.html">Command Structure</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="newt_build.html">newt build</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_clean.html">newt clean</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_complete.html">newt complete</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_create_image.html">newt create-image</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_debug.html">newt debug</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_help.html">newt help</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_info.html">newt info</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_load.html">newt load</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_mfg.html">newt mfg</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_new.html">newt new</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_pkg.html">newt pkg</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_resign_image.html">newt resign-image</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_run.html">newt run</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_size.html">newt size</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">newt target</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_test.html">newt test</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_upgrade.html">newt upgrade</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_vals.html">newt vals</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_version.html">newt version</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../install/index.html">Install</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mynewt_faq/index.html">Mynewt FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
</ul>

        
      
      </div>
    </div>
  </div>
  <!-- ENDS STICKY CONTAINER -->
</div>
<!-- ENDS .container-sidebar -->

            <div class="col-xs-12 col-sm-9">
              
                <div class="alert alert-warning">
                  <p>
                    Version 1.8.0 is not the most recent version of the
                    Apache Mynewt documentation. Click <a href="/latest">here</a> to
                    read the latest version.
                  </p>
                </div>
              

              
              <div class="">
                <div class="rst-content">
                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
                   <div itemprop="articleBody">
                    
  <div class="section" id="newt-target">
<h1>newt target<a class="headerlink" href="#newt-target" title="Permalink to this headline">¶</a></h1>
<p>Commands to create, delete, configure and query targets.</p>
<div class="section" id="usage">
<h2>Usage:<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newt target [command] [flags]</span>
</pre></div>
</div>
</div>
<div class="section" id="available-commands">
<h2>Available Commands:<a class="headerlink" href="#available-commands" title="Permalink to this headline">¶</a></h2>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">amend       Add, change, or delete values for multi-value target variables</span>
<span class="go">config      View or populate a target&#39;s system configuration settings</span>
<span class="go">copy        Copy target</span>
<span class="go">create      Create a target</span>
<span class="go">delete      Delete target</span>
<span class="go">dep         View target&#39;s dependency graph</span>
<span class="go">revdep      View target&#39;s reverse-dependency graph</span>
<span class="go">set         Set target configuration variable</span>
<span class="go">show        View target configuration variables</span>
</pre></div>
</div>
</div>
<div class="section" id="global-flags">
<h2>Global Flags:<a class="headerlink" href="#global-flags" title="Permalink to this headline">¶</a></h2>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">-h, --help              Help for newt commands</span>
<span class="go">-j, --jobs int          Number of concurrent build jobs (default 8)</span>
<span class="go">-l, --loglevel string   Log level (default &quot;WARN&quot;)</span>
<span class="go">-o, --outfile string    Filename to tee output to</span>
<span class="go">-q, --quiet             Be quiet; only display error output</span>
<span class="go">-s, --silent            Be silent; don&#39;t output anything</span>
<span class="go">-v, --verbose           Enable verbose output when executing commands</span>
</pre></div>
</div>
</div>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
<p>The target command provides subcommands to create, build, delete, and query targets. The subcommands take one or two <code class="docutils literal notranslate"><span class="pre">target-name</span></code> arguments.</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Sub-command</p></th>
<th class="head"><p>Explanation</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>amend</p></td>
<td><p>The amend command allows you to add, change, or delete values for multi-value target variables that you
have set with the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span></code> command. The format of the amend command is:</p>
<p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">amend</span> <span class="pre">&lt;target-name&gt;</span> <span class="pre">&lt;var-name=var-value&gt;</span> <span class="pre">[var-name=var-value...]</span></code></p>
<p>Specify the <code class="docutils literal notranslate"><span class="pre">-d</span></code> flag to delete values.</p>
<p>The following multi-value variables can be amended: <code class="docutils literal notranslate"><span class="pre">aflags</span></code>, <code class="docutils literal notranslate"><span class="pre">cflags</span></code>, <code class="docutils literal notranslate"><span class="pre">lflags</span></code>, <code class="docutils literal notranslate"><span class="pre">syscfg</span></code>.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">var-value</span></code> format depends on the <code class="docutils literal notranslate"><span class="pre">var-name</span></code> as follows:</p>
<dl>
<dt><code class="docutils literal notranslate"><span class="pre">aflags</span></code>, <code class="docutils literal notranslate"><span class="pre">cflags</span></code>, <code class="docutils literal notranslate"><span class="pre">lflags</span></code>:</dt><dd><p>A string of flags, with each flag separated by a space. These variables are saved in the target’s <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">syscfg</span></code>:</dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">syscfg</span></code> variable allows you to assign values to configuration settings in your target’s <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file.</p>
<p>The format is <code class="docutils literal notranslate"><span class="pre">syscfg=setting-name1=setting-value1[:setting-name2=setting-value2...]</span></code>, where <code class="docutils literal notranslate"><span class="pre">setting-name1</span></code> is a
configuration setting name and <code class="docutils literal notranslate"><span class="pre">setting-value1</span></code> is the value to assign to <code class="docutils literal notranslate"><span class="pre">setting-name1</span></code>. If <code class="docutils literal notranslate"><span class="pre">setting-value1</span></code>
is not specified, the setting is set to value <code class="docutils literal notranslate"><span class="pre">1</span></code>. You use a <code class="docutils literal notranslate"><span class="pre">:</span></code> to delimit each setting when you amend multiple
settings.</p>
<p>To delete a system configuration setting, you only need to specify the setting name.
For example, <code class="docutils literal notranslate"><span class="pre">syscfg=setting-name1:setting-name2</span></code>
deletes configuration settings named <code class="docutils literal notranslate"><span class="pre">setting-name1</span></code> and <code class="docutils literal notranslate"><span class="pre">setting-name2</span></code>.</p>
</dd>
</dl>
</td>
</tr>
<tr class="row-odd"><td><p>config</p></td>
<td><p>The config command allows you to view or populate a target’s system configuration settings.
A target’s system configuration settings include the settings of all the packages it includes.
The settings for a package are listed in the package’s <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file. The <code class="docutils literal notranslate"><span class="pre">config</span></code> command has
two subcommands: <code class="docutils literal notranslate"><span class="pre">show</span></code> and <code class="docutils literal notranslate"><span class="pre">init</span></code>. The config show &lt;target-name&gt; command displays the system
configuration setting definitions and values for all the packages that the <code class="docutils literal notranslate"><span class="pre">target-name</span></code> target includes.
The config init &lt;target-name&gt; command populates the target’s <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file with the system configuration
values for all the packages that the <code class="docutils literal notranslate"><span class="pre">target-name</span></code> target includes.</p></td>
</tr>
<tr class="row-even"><td><p>copy</p></td>
<td><p>The copy &lt;src-target&gt; &lt;dst-target&gt; command creates a new target named <code class="docutils literal notranslate"><span class="pre">dst-target</span></code> by cloning the
<code class="docutils literal notranslate"><span class="pre">src-target</span></code> target.</p></td>
</tr>
<tr class="row-odd"><td><p>create</p></td>
<td><p>The create &lt;target-name&gt; command creates an empty target named <code class="docutils literal notranslate"><span class="pre">target-name</span></code>. It creates the
<code class="docutils literal notranslate"><span class="pre">targets/target-name</span></code> directory and the skeleton <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> and <code class="docutils literal notranslate"><span class="pre">target.yml</span></code> files in the directory.</p></td>
</tr>
<tr class="row-even"><td><p>delete</p></td>
<td><p>The delete &lt;target-name&gt; command deletes the description for the <code class="docutils literal notranslate"><span class="pre">target-name</span></code> target. It deletes
the ‘targets/target-name’ directory. It does not delete the ‘bin/targets/target-name’ directory where
the build artifacts are stored. If you want to delete the build artifacts, run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">clean</span> <span class="pre">&lt;target-name&gt;</span></code>
command <strong>before</strong> deleting the target.</p></td>
</tr>
<tr class="row-odd"><td><p>dep</p></td>
<td><p>The dep &lt;target-name&gt; command displays a dependency tree for the packages that the <code class="docutils literal notranslate"><span class="pre">target-name</span></code>
target includes. It shows each package followed by the list of libraries or packages that it
depends on.</p></td>
</tr>
<tr class="row-even"><td><p>revdep</p></td>
<td><p>The revdep &lt;target-name&gt; command displays the reverse dependency tree for the packages that the
<code class="docutils literal notranslate"><span class="pre">target-name</span></code> target includes. It shows each package followed by the list of libraries or packages
that depend on it.</p></td>
</tr>
<tr class="row-odd"><td><p>set</p></td>
<td><p>The set &lt;target-name&gt; &lt;var-name=var-value&gt; [var-name=var-value…] command sets variables (attributes)
for the &lt;target-name&gt; target. The set command overwrites your current variable values.</p>
<p>The valid <code class="docutils literal notranslate"><span class="pre">var-name</span></code> values are: <code class="docutils literal notranslate"><span class="pre">app</span></code>, <code class="docutils literal notranslate"><span class="pre">bsp</span></code>, <code class="docutils literal notranslate"><span class="pre">loader</span></code>, <code class="docutils literal notranslate"><span class="pre">build_profile</span></code>, <code class="docutils literal notranslate"><span class="pre">cflags</span></code>,
<code class="docutils literal notranslate"><span class="pre">lflags</span></code>, <code class="docutils literal notranslate"><span class="pre">aflags</span></code>, <code class="docutils literal notranslate"><span class="pre">syscfg</span></code>.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">var-value</span></code> format depends on the <code class="docutils literal notranslate"><span class="pre">var-name</span></code> as follows:</p>
<dl>
<dt><code class="docutils literal notranslate"><span class="pre">app</span></code>, <code class="docutils literal notranslate"><span class="pre">bsp</span></code>, <code class="docutils literal notranslate"><span class="pre">loader</span></code>:</dt><dd><p>&#64;&lt;source-path&gt;, where <code class="docutils literal notranslate"><span class="pre">source-path</span></code> is the directory containing the application or bsp source.
These variables are stored in the target’s target.yml file. For a simulated target, e.g. for software
testing purposes, set <code class="docutils literal notranslate"><span class="pre">bsp</span></code> to <code class="docutils literal notranslate"><span class="pre">&#64;apache-mynewt-core/hw/bsp/native</span></code>.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">build_profile</span></code>:</dt><dd><p><code class="docutils literal notranslate"><span class="pre">optimized</span></code> or <code class="docutils literal notranslate"><span class="pre">debug</span></code></p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">aflags</span></code>, <code class="docutils literal notranslate"><span class="pre">cflags</span></code>, <code class="docutils literal notranslate"><span class="pre">lflags</span></code>:</dt><dd><p>A string of flags, with each flag separated by a space. These variables are saved in the target’s <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">syscfg</span></code>:</dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">syscfg</span></code> variable allows you to assign values to configuration settings in your target’s <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file.</p>
<p>The format is <code class="docutils literal notranslate"><span class="pre">syscfg=setting-name1=setting-value1[:setting-name2=setting-value2...]</span></code>, where <code class="docutils literal notranslate"><span class="pre">setting-name1</span></code>
is a configuration setting name and <code class="docutils literal notranslate"><span class="pre">setting-value1</span></code> is the value to assign to <code class="docutils literal notranslate"><span class="pre">setting-name1</span></code>.
If <code class="docutils literal notranslate"><span class="pre">setting-value1</span></code> is not specified, the setting is set to value <code class="docutils literal notranslate"><span class="pre">1</span></code>. You use a <code class="docutils literal notranslate"><span class="pre">:</span></code> to delimit
each setting when you set multiple settings.</p>
</dd>
</dl>
<p>You can specify <code class="docutils literal notranslate"><span class="pre">var-name=</span></code> or <code class="docutils literal notranslate"><span class="pre">var-name=&quot;&quot;</span></code> to unset a variable value.</p>
<p><strong>Warning</strong>: For multi-value variables, the command overrides all existing values. Use
the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">amend</span></code> command to change or add new values for a multi-value variable after you have
set the variable value. The multi-value variables are: <code class="docutils literal notranslate"><span class="pre">aflags</span></code>, <code class="docutils literal notranslate"><span class="pre">cflags</span></code>, <code class="docutils literal notranslate"><span class="pre">lflags</span></code>, and <code class="docutils literal notranslate"><span class="pre">syscfg</span></code></p>
<p>To display all the existing values for a target variable (attribute), you can run the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">vals</span> <span class="pre">&lt;variable-name&gt;</span></code>
command. For example, <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">vals</span> <span class="pre">app</span></code> displays the valid values available for the variable <code class="docutils literal notranslate"><span class="pre">app</span></code> for any target.</p>
</td>
</tr>
<tr class="row-even"><td><p>show</p></td>
<td><p>The show [target-name] command shows the values of the variables (attributes) for the <code class="docutils literal notranslate"><span class="pre">target-name</span></code>
target. When <code class="docutils literal notranslate"><span class="pre">target-name</span></code> is not specified, the command shows the variables for
all the targets that are defined for your project.</p></td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
<table class="docutils align-default">
<colgroup>
<col style="width: 5%" />
<col style="width: 18%" />
<col style="width: 77%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Sub-command</p></th>
<th class="head"><p>Usage</p></th>
<th class="head"><p>Explanation</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>amend</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">amend</span> <span class="pre">myble</span></code>
<code class="docutils literal notranslate"><span class="pre">syscfg=CONFIG_NEWTMGR=0</span> <span class="pre">cflags=&quot;-DTEST&quot;</span></code></p></td>
<td><p>Changes (or adds) the <code class="docutils literal notranslate"><span class="pre">CONFIG_NEWTMGR</span></code> variable to value 0 in the <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file and adds the -DTEST flag to <code class="docutils literal notranslate"><span class="pre">pkg.cflags</span></code> in the <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target. Other syscfg setting values and cflags values are not changed.</p></td>
</tr>
<tr class="row-odd"><td><p>amend</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">amend</span> <span class="pre">myble</span></code>
<code class="docutils literal notranslate"><span class="pre">-d</span> <span class="pre">syscfg=LOG_LEVEL:CONFIG_NEWTMGR</span> <span class="pre">cflags=&quot;-DTEST&quot;</span></code></p></td>
<td><p>Deletes the <code class="docutils literal notranslate"><span class="pre">LOG_LEVEL</span></code> and <code class="docutils literal notranslate"><span class="pre">CONFIG_NEWTMGR</span></code> settings from the <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file and the -DTEST flag from <code class="docutils literal notranslate"><span class="pre">pkg.cflags</span></code> for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target. Other syscfg setting values and cflags values are not changed.</p></td>
</tr>
<tr class="row-even"><td><p>config show</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">config</span> <span class="pre">show</span> <span class="pre">rb_blinky</span></code></p></td>
<td><p>Shows the system configuration settings for all the packages that the <code class="docutils literal notranslate"><span class="pre">rb_blinky</span></code> target includes.</p></td>
</tr>
<tr class="row-odd"><td><p>config init</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">config</span> <span class="pre">init</span> <span class="pre">my_blinky</span></code></p></td>
<td><p>Creates and populates the <code class="docutils literal notranslate"><span class="pre">my_blinky</span></code> target’s <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file with the system configuration setting values from all the packages that the <code class="docutils literal notranslate"><span class="pre">my_blinky</span></code> target includes.</p></td>
</tr>
<tr class="row-even"><td><p>copy</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">copy</span> <span class="pre">rb_blinky</span> <span class="pre">rb_btshell</span></code></p></td>
<td><p>Creates the <code class="docutils literal notranslate"><span class="pre">rb_btshell</span></code> target by cloning the <code class="docutils literal notranslate"><span class="pre">rb_blinky</span></code> target.</p></td>
</tr>
<tr class="row-odd"><td><p>create</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">create</span> <span class="pre">my_new_target</span></code></p></td>
<td><p>Creates the <code class="docutils literal notranslate"><span class="pre">my_newt_target</span></code> target. It creates the <code class="docutils literal notranslate"><span class="pre">targets/my_new_target</span></code> directory and creates the skeleton <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> and <code class="docutils literal notranslate"><span class="pre">target.yml</span></code> files in the directory.</p></td>
</tr>
<tr class="row-even"><td><p>delete</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">delete</span> <span class="pre">rb_btshell</span></code></p></td>
<td><p>Deletes the <code class="docutils literal notranslate"><span class="pre">rb_btshell</span></code> target. It deletes the <code class="docutils literal notranslate"><span class="pre">targets/rb_btshell</span></code> directory.</p></td>
</tr>
<tr class="row-odd"><td><p>dep</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">dep</span> <span class="pre">myble</span></code></p></td>
<td><p>Displays the dependency tree of all the package dependencies for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target. It lists each package followed by a list of packages it depends on.</p></td>
</tr>
<tr class="row-even"><td><p>revdep</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">revdep</span> <span class="pre">myble</span></code></p></td>
<td><p>Displays the reverse dependency tree of all the package dependencies for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target. It lists each package followed by a list of packages that depend on it.</p></td>
</tr>
<tr class="row-odd"><td><p>set</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span> <span class="pre">myble</span></code>
<code class="docutils literal notranslate"><span class="pre">app=&#64;apache-mynewt-core/apps/btshell</span></code></p></td>
<td><p>Use <code class="docutils literal notranslate"><span class="pre">btshell</span></code> as the application to build for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target.</p></td>
</tr>
<tr class="row-even"><td><p>set</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span> <span class="pre">myble</span></code>
<code class="docutils literal notranslate"><span class="pre">cflags=&quot;-DNDEBUG</span> <span class="pre">-Werror&quot;</span></code></p></td>
<td><p>Set <code class="docutils literal notranslate"><span class="pre">pkg.cflags</span></code> variable with <code class="docutils literal notranslate"><span class="pre">-DNDEBUG</span> <span class="pre">-Werror</span></code> in the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target’s <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file..</p></td>
</tr>
<tr class="row-odd"><td><p>set</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span> <span class="pre">myble</span></code>
<code class="docutils literal notranslate"><span class="pre">syscfg=LOG_NEWTMGR=0:CONFIG_NEWTMGR</span></code></p></td>
<td><p>Sets the <code class="docutils literal notranslate"><span class="pre">syscfg.vals</span></code> variable in the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target’s <code class="docutils literal notranslate"><span class="pre">syscfg.yml</span></code> file with the setting values: LOG_NEWTMGR: 0 and CONFIG_NEWTMGR: 1. CONFIG_NEWTMGR is set to 1 because a value is not specified.</p></td>
</tr>
<tr class="row-even"><td><p>set</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">set</span> <span class="pre">myble</span> <span class="pre">cflags=</span></code></p></td>
<td><p>Unsets the <code class="docutils literal notranslate"><span class="pre">pkg.cflags</span></code> variable in the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target’s <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file.</p></td>
</tr>
<tr class="row-odd"><td><p>show</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">show</span> <span class="pre">myble</span></code></p></td>
<td><p>Shows all variable settings for the <code class="docutils literal notranslate"><span class="pre">myble</span></code> target, i.e. the values that app, bsp, build_profile, cflags, aflags, ldflags, syscfg variables are set to. Note that not all variables have to be set for a target.</p></td>
</tr>
<tr class="row-even"><td><p>show</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">target</span> <span class="pre">show</span></code></p></td>
<td><p>Shows all the variable settings for all the targets defined for the project.</p></td>
</tr>
</tbody>
</table>
</div>
</div>


                   </div>
                  </div>
                  
    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
      
        <a href="newt_test.html" class="btn btn-neutral float-right" title="newt test" accesskey="n">Next: newt test <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="newt_size.html" class="btn btn-neutral" title="newt size" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: newt size</a>
      
    </div>

                </div>
              </div>
            </div>
            <!-- ENDS CONTENT SECTION -->
          </div>
          <!-- ENDS .content -->
        </div>
      </div>
      <footer>
  <div class="container">
    <div class="row">
      <div class="col-xs-12">
          
              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
          
      </div>
      <div class="col-xs-12">
          <div class="logos">
              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
              <small class="footnote">
                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
              </small>
              <a href="">
                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
              </a>
          </div>
      </div>
    </div>
  </div>
</footer>
    </div>
    <!-- ENDS #wrapper -->

  

    <script type="text/javascript">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'../../',
            VERSION:'latest',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true,
            SOURCELINK_SUFFIX: '.txt',
            LINK_SUFFIX: '.html'
        };
    </script>
      <script type="text/javascript" src="../../_static/jquery.js"></script>
      <script type="text/javascript" src="../../_static/underscore.js"></script>
      <script type="text/javascript" src="../../_static/doctools.js"></script>
      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
      <script type="text/javascript" src="../../_static/js/affix.js"></script>
      <script type="text/javascript" src="../../_static/js/main.js"></script>

   

  </body>
</html>