blob: 4458c3586fac4dd9acdcb397902bc59cbd57c84f [file] [log] [blame]
<!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">
<!-- This is broken by doc revisioning.
-->
<link rel="shortcut icon" href="../../../img/favicon.ico">
<title>newt target - Apache Mynewt</title>
<link href="../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
<link rel="stylesheet" href="../../../css/highlight.css">
<link href="../../../css/base.css" rel="stylesheet">
<link href="../../../css/custom.css" rel="stylesheet">
<link href="../../../css/v2.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<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="newt target">
<div class="container">
<div class="row v2-main-banner">
<a class="logo-cell" href="/">
<img class="logo" src="/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>
<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" 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
class=""
>
<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
class=""
>
<a href="/about/">About</a>
</li>
<li
class=""
>
<a href="/talks/">Talks</a>
</li>
<li
class="active"
>
<a href="/documentation/">Documentation</a>
</li>
<li
class=""
>
<a href="/download/">Download</a>
</li>
<li
class=""
>
<a href="/community/">Community</a>
</li>
<li
class=""
>
<a href="/events/">Events</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary">
<div class="top">
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<div class="form-group">
<input type="text" name="q" class="form-control" placeholder="Search documentation" />
</div>
</form>
</div>
</div>
<ul class="toc-nav">
<li class="doc-version"><select class="form-control" onchange="if (this.value) window.location.href=this.value">
<option value="/latest">
Version: master
</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/" >
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" selected="selected" >
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></li>
<li ><a href="../../../os/introduction/">Mynewt Documentation</a>
<ul>
<li ><a href="../../../os/get_started/get_started/">Basic Setup</a>
</li>
<li >
<a href="../../../os/get_started/vocabulary/">Concepts</a>
</li>
<li ><a href="../../../os/tutorials/tutorials/">Tutorials</a>
</li>
<li ><a href="../../../os/os_user_guide/">OS User Guide</a>
</li>
<li><a href="
../../../network/ble/ble_intro/
">BLE User Guide</a>
</li>
<li ><a href="../../newt_intro/">Newt Tool Guide</a>
<ul>
<li >
<a href="../../newt_operation/">Newt Theory of Ops</a>
</li>
<li ><a href="../../newt_ops/">Command Guide</a>
<ul>
<li >
<a href="../newt_build/">newt build</a>
</li>
<li >
<a href="../newt_clean/">newt clean</a>
</li>
<li >
<a href="../newt_create_image/">newt create-image</a>
</li>
<li >
<a href="../newt_debug/">newt debug</a>
</li>
<li >
<a href="../newt_help/">newt help</a>
</li>
<li >
<a href="../newt_info/">newt info</a>
</li>
<li >
<a href="../newt_install/">newt install</a>
</li>
<li >
<a href="../newt_load/">newt load</a>
</li>
<li >
<a href="../newt_mfg/">newt mfg</a>
</li>
<li >
<a href="../newt_new/">newt new</a>
</li>
<li >
<a href="../newt_pkg/">newt pkg</a>
</li>
<li >
<a href="../newt_resign_image/">newt resign-image</a>
</li>
<li >
<a href="../newt_run/">newt run</a>
</li>
<li >
<a href="../newt_size/">newt size</a>
</li>
<li >
<a href="../newt_sync/">newt sync</a>
</li>
<li class="active">
<a href="./">newt target</a>
</li>
<li >
<a href="../newt_test/">newt test</a>
</li>
<li >
<a href="../newt_upgrade/">newt upgrade</a>
</li>
<li >
<a href="../newt_vals/">newt vals</a>
</li>
<li >
<a href="../newt_version/">newt version</a>
</li>
</ul>
</li>
</ul>
</li>
<li ><a href="../../../newtmgr/overview/">Newt Manager Guide</a>
</li>
<li >
<a href="../../../known_issues/">Known Issues</a>
</li>
</ul>
</li>
<li><a href="
../../install/prev_releases/
">Appendix</a>
</li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<div class="doc-header">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="/documentation/">Docs</a></li>
<li>&raquo; <a href="newt/newt_ops/">Command Guide</a></li>
<li>&raquo; <a href="newt/newt_intro/">Newt Tool Guide</a></li>
<li>&raquo; <a href="os/introduction/">Mynewt Documentation</a></li>
<li>&raquo; newt target</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/apache/mynewt-site/blob/master/docs/newt/command_list/newt_target.md"
class="icon icon-github"> Edit on GitHub</a>
</li>
</ul>
</div>
</div>
<div class="alert alert-warning">
<p>
Version 1.3.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>
<h2 id="newt-target"><font color="#F2853F" style="font-size:24pt">newt target </font></h2>
<p>Commands to create, delete, configure and query targets. </p>
<h4 id="usage">Usage:</h4>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code> newt target [command] [flags]
</code></pre></div>
<h4 id="available-commands">Available Commands:</h4>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code> amend Add, change, or delete values for multi-value target variables
config View or populate a target&#39;s system configuration settings
copy Copy target
create Create a target
delete Delete target
dep View target&#39;s dependency graph
revdep View target&#39;s reverse-dependency graph
set Set target configuration variable
show View target configuration variables
</code></pre></div>
<h4 id="global-flags">Global Flags:</h4>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code> -h, --help Help for newt commands
-j, --jobs int Number of concurrent build jobs (default 8)
-l, --loglevel string Log level (default &quot;WARN&quot;)
-o, --outfile string Filename to tee output to
-q, --quiet Be quiet; only display error output
-s, --silent Be silent; don&#39;t output anything
-v, --verbose Enable verbose output when executing commands
</code></pre></div>
<h4 id="description">Description</h4>
<p>The target command provides subcommands to create, build, delete, and query targets. The subcommands take one or two <code>target-name</code> arguments. </p>
<table>
<thead>
<tr>
<th>Sub-command</th>
<th>Explanation</th>
</tr>
</thead>
<tbody>
<tr>
<td>amend</td>
<td>The amend command allows you to add, change, or delete values for multi-value target variables that you have set with the <code>newt target set</code> command. The format of the amend command is: <br>newt target amend &lt;target-name&gt; &lt;var-name=var-value&gt; [var-name=var-value...] <br>Specify the <code>-d</code> flag to delete values.<br><br>The following multi-value variables can be amended: <code>aflags</code>, <code>cflags</code>, <code>lflags</code>, <code>syscfg</code>. <br>The <code>var-value</code> format depends on the <code>var-name</code> as follows: <ul><li><code>aflags</code>, <code>cflags</code>, <code>lflags</code>: A string of flags, with each flag separated by a space. These variables are saved in the target's <code>pkg.yml</code> file.</li><li><code>syscfg</code>: The <code>syscfg</code> variable allows you to assign values to configuration settings in your target's <code>syscfg.yml</code> file. <br><br>The format is <code>syscfg=setting-name1=setting-value1[:setting-name2=setting-value2...]</code>, where <code>setting-name1</code> is a configuration setting name and <code>setting-value1</code> is the value to assign to <code>setting-name1</code>. If <code>setting-value1</code> is not specified, the setting is set to value <code>1</code>. You use a <code>:</code> to delimit each setting when you amend multiple settings.<br><br>To delete a system configuration setting, you only need to specify the setting name. For example, <code>syscfg=setting-name1:setting-name2</code> deletes configuration settings named <code>setting-name1</code> and <code>setting-name2</code>. </li></ul></td>
</tr>
<tr>
<td>config</td>
<td>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>syscfg.yml</code> file. The <code>config</code> command has two subcommands: <code>show</code> and <code>init</code>. <br><br> The config show &lt;target-name&gt; command displays the system configuration setting definitions and values for all the packages that the <code>target-name</code> target includes. <br><br>The config init &lt;target-name&gt; command populates the target's <code>syscfg.yml</code> file with the system configuration values for all the packages that the <code>target-name</code> target includes.</td>
</tr>
<tr>
<td>copy</td>
<td>The copy &lt;src-target&gt; &lt;dst-target&gt; command creates a new target named <code>dst-target</code> by cloning the <code>src-target</code> target.</td>
</tr>
<tr>
<td>create</td>
<td>The create &lt;target-name&gt; command creates an empty target named <code>target-name</code>. It creates the <code>targets/target-name</code> directory and the skeleton <code>pkg.yml</code> and <code>target.yml</code> files in the directory.</td>
</tr>
<tr>
<td>delete</td>
<td>The delete &lt;target-name&gt; command deletes the description for the <code>target-name</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>newt clean &lt;target-name&gt;</code> command <strong>before</strong> deleting the target.</td>
</tr>
<tr>
<td>dep</td>
<td>The dep &lt;target-name&gt; command displays a dependency tree for the packages that the <code>target-name</code> target includes. It shows each package followed by the list of libraries or packages that it depends on.</td>
</tr>
<tr>
<td>revdep</td>
<td>The revdep &lt;target-name&gt; command displays the reverse dependency tree for the packages that the <code>target-name</code> target includes. It shows each package followed by the list of libraries or packages that depend on it.</td>
</tr>
<tr>
<td>set</td>
<td>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. <br><br>The valid <code>var-name</code> values are: <code>app</code>, <code>bsp</code>, <code>loader</code>, <code>build_profile</code>, <code>cflags</code>, <code>lflags</code>, <code>aflags</code>, <code>syscfg</code>. <br><br>The <code>var-value</code> format depends on the <code>var-name</code> as follows: <ul><li><code>app</code>, <code>bsp</code>, <code>loader</code>: @&lt;source-path&gt;, where <code>source-path</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>bsp</code> to <code>@apache-mynewt-core/hw/bsp/native</code>.</li> <li><code>build_profile</code>: <code>optimized</code> or <code>debug</code></li><li><code>aflags</code>, <code>cflags</code>, <code>lflags</code>: A string of flags, with each flag separated by a space. These variables are saved in the target's <code>pkg.yml</code> file.</li><li><code>syscfg</code>: The <code>syscfg</code> variable allows you to assign values to configuration settings in your target's <code>syscfg.yml</code> file. <br>The format is <code>syscfg=setting-name1=setting-value1[:setting-name2=setting-value2...]</code>, where <code>setting-name1</code> is a configuration setting name and <code>setting-value1</code> is the value to assign to <code>setting-name1</code>. If <code>setting-value1</code> is not specified, the setting is set to value <code>1</code>. You use a <code>:</code> to delimit each setting when you set multiple settings. </li></ul>You can specify <code>var-name=</code> or <code>var-name=""</code> to unset a variable value.<br><br> <strong>Warning</strong>: For multi-value variables, the command overrides all existing values. Use the <code>newt target amend</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>aflags</code>, <code>cflags</code>, <code>lflags</code>, and <code>syscfg</code>.<br><br>To display all the existing values for a target variable (attribute), you can run the <code>newt vals &lt;variable-name&gt;</code> command. For example, <code>newt vals app</code> displays the valid values available for the variable <code>app</code> for any target.</td>
</tr>
<tr>
<td>show</td>
<td>The show [target-name] command shows the values of the variables (attributes) for the <code>target-name</code> target. When <code>target-name</code> is not specified, the command shows the variables for all the targets that are defined for your project.</td>
</tr>
</tbody>
</table>
<h4 id="examples">Examples</h4>
<table>
<thead>
<tr>
<th>Sub-command</th>
<th>Usage</th>
<th>Explanation</th>
</tr>
</thead>
<tbody>
<tr>
<td>amend</td>
<td>newt target amend myble syscfg=CONFIG_NEWTMGR=0 cflags="-DTEST"</td>
<td>Changes (or adds) the <code>CONFIG_NEWTMGR</code> variable to value 0 in the <code>syscfg.yml</code> file and adds the -DTEST flag to <code>pkg.cflags</code> in the <code>pkg.yml</code> file for the <code>myble</code> target. Other syscfg setting values and cflags values are not changed.</td>
</tr>
<tr>
<td>amend</td>
<td>newt target amend myble -d syscfg=LOG_LEVEL:CONFIG_NEWTMGR cflags="-DTEST"</td>
<td>Deletes the <code>LOG_LEVEL</code> and <code>CONFIG_NEWTMGR</code> settings from the <code>syscfg.yml</code> file and the -DTEST flag from <code>pkg.cflags</code> for the <code>myble</code> target. Other syscfg setting values and cflags values are not changed.</td>
</tr>
<tr>
<td>config show</td>
<td>newt target config show rb_blinky</td>
<td>Shows the system configuration settings for all the packages that the <code>rb_blinky</code> target includes.</td>
</tr>
<tr>
<td>config init</td>
<td>newt target config init my_blinky</td>
<td>Creates and populates the <code>my_blinky</code> target's <code>syscfg.yml</code> file with the system configuration setting values from all the packages that the <code>my_blinky</code> target includes.</td>
</tr>
<tr>
<td>copy</td>
<td>newt target copy <br>rb_blinky rb_btshell</td>
<td>Creates the <code>rb_btshell</code> target by cloning the <code>rb_blinky</code> target.</td>
</tr>
<tr>
<td>create</td>
<td>newt target create <br>my_new_target</td>
<td>Creates the <code>my_newt_target</code> target. It creates the <code>targets/my_new_target</code> directory and creates the skeleton <code>pkg.yml</code> and <code>target.yml</code> files in the directory.</td>
</tr>
<tr>
<td>delete</td>
<td>newt target delete rb_btshell</td>
<td>Deletes the <code>rb_btshell</code> target. It deletes the <code>targets/rb_btshell</code> directory.</td>
</tr>
<tr>
<td>dep</td>
<td>newt target dep myble</td>
<td>Displays the dependency tree of all the package dependencies for the <code>myble</code> target. It lists each package followed by a list of packages it depends on.</td>
</tr>
<tr>
<td>revdep</td>
<td>newt target revdep myble</td>
<td>Displays the reverse dependency tree of all the package dependencies for the <code>myble</code> target. It lists each package followed by a list of packages that depend on it.</td>
</tr>
<tr>
<td>set</td>
<td>newt target set myble <br>app=@apache-mynewt-core/apps/btshell</td>
<td>Use <code>btshell</code> as the application to build for the <code>myble</code> target.</td>
</tr>
<tr>
<td>set</td>
<td>newt target set myble <br>cflags="-DNDEBUG -Werror"</td>
<td>Set <code>pkg.cflags</code> variable with <code>-DNDEBUG -Werror</code> in the <code>myble</code> target's <code>pkg.yml</code> file..</td>
</tr>
<tr>
<td>set</td>
<td>newt target set myble syscfg=LOG_NEWTMGR=0:CONFIG_NEWTMGR</td>
<td>Sets the <code>syscfg.vals</code> variable in the <code>myble</code> target's <code>syscfg.yml</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.</td>
</tr>
<tr>
<td>set</td>
<td>newt target set myble cflags=</td>
<td>Unsets the <code>pkg.cflags</code> variable in the <code>myble</code> target's <code>pkg.yml</code> file.</td>
</tr>
<tr>
<td>show</td>
<td>newt target show myble</td>
<td>Shows all variable settings for the <code>myble</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.</td>
</tr>
<tr>
<td>show</td>
<td>newt target show</td>
<td>Shows all the variable settings for all the targets defined for the project.</td>
</tr>
</tbody>
</table>
<div class="row">
<ul class="nav nav-pills" style="margin-bottom: 10px">
<li>
</li>
<li class="pull-right">
</li>
</ul>
</div>
<footer 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">
<a href="https://www.apache.org/">
<img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
</a>
<p>
Copyright © 2015-2021 The Apache Software Foundation.<br>
<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>
</p>
<a href="">
<img src="https://www.countit.com/images/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
</a>
</div>
</div>
<a href="https://www.apache.org/licenses/">
<button class="button-footer-asf">
License
</button>
</a>
<a href="https://www.apache.org/foundation/sponsorship.html">
<button class="button-footer-asf">
Sponsorship
</button>
</a>
<a href="https://www.apache.org/foundation/thanks.html">
<button class="button-footer-asf">
Thanks
</button>
</a>
<a href="https://www.apache.org/security/">
<button class="button-footer-asf">
Security
</button>
</a>
<a href="https://apache.org/events/current-event">
<button class="button-footer-asf">
ASF Events
</button>
</a>
</footer>
</div>
</div>
</div>
<script src="../../../js/jquery-1.10.2.min.js"></script>
<script src="../../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../../js/highlight.pack.js"></script>
<script src="../../../js/base.js"></script>
<script src="../../../js/custom.js"></script>
<script src="search/main.js"></script>
</body>
</html>