<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../bbv2.html" title="Chapter 48. Boost.Build User Manual">
+<link rel="up" href="../bbv2.html" title="Chapter 49. Boost.Build User Manual">
<link rel="prev" href="reference.html" title="Reference">
<link rel="next" href="faq.html" title="Frequently Asked Questions">
</head>
and can be called with specific properties to generate concrete
targets. At the code level it is represented by an instance of
class derived from <a class="link" href="reference.html#bbv2.reference.class.abstract-target" title="Class abstract-target">abstract-target</a>.
- <a href="#ftn.idp725557936" class="footnote" name="idp725557936"><sup class="footnote">[14]</sup></a>
+ <a href="#ftn.idp639100864" class="footnote" name="idp639100864"><sup class="footnote">[19]</sup></a>
</p>
<p>The <a class="link" href="reference.html#bbv2.reference.class.abstract-target.generate">generate</a>
method takes the build properties
returning targets you should pass them via the <code class="computeroutput">virtual-target.register</code>
function, besides allowing Boost.Build to track which virtual targets
got created for each metatarget, this will also replace targets with previously created identical
- ones, as necessary.<a href="#ftn.idp725598032" class="footnote" name="idp725598032"><sup class="footnote">[15]</sup></a>
+ ones, as necessary.<a href="#ftn.idp639141024" class="footnote" name="idp639141024"><sup class="footnote">[20]</sup></a>
Here are a couple of examples:
</p>
<pre class="programlisting">
<p>In practice, most files have specific types, and most tools
consume and produce files of specific type. To take advantage of this
fact, Boost.Build defines concept of target type and
- <a class="indexterm" name="idp725604304"></a>
+ <a class="indexterm" name="idp639147296"></a>
<em class="firstterm">generators</em>, and has special metatarget class
<a class="link" href="reference.html#bbv2.reference.class.typed-target" title="Class typed-target">typed-target</a>. Target type is merely an
identifier. It is associated with a set of file extensions that
</p>
<p>(Need a note about UNIX)</p>
<h4>
-<a name="idp725677520"></a>Custom generator classes</h4>
+<a name="idp639220784"></a>Custom generator classes</h4>
<p>The standard generators allows you to specify source and target
types, an action, and a set of flags. If you need anything more complex,
<p>
</p>
<h4>
-<a name="idp725709072"></a>Steps for adding a feauture</h4>
+<a name="idp639253120"></a>Steps for adding a feauture</h4>
<p>Adding a feature requires three steps:
</p>
<p>
</p>
<h4>
-<a name="idp725720096"></a>Another example</h4>
+<a name="idp639264144"></a>Another example</h4>
<p>Here's another example.
Let's see how we can make a feature that refers to a target. For example,
when linking dynamic libraries on Windows, one sometimes needs to
</li>
</ol></div>
<h4>
-<a name="idp725732544"></a>Variants and composite features.</h4>
+<a name="idp639276592"></a>Variants and composite features.</h4>
<p>Sometimes you want to create a shortcut for some set of
features. For example, <code class="computeroutput">release</code> is a value of
<code class="computeroutput"><variant></code> and is a shortcut for a set of features.
</div>
<div class="footnotes">
<br><hr style="width:100; text-align:left;margin-left: 0">
-<div id="ftn.idp725557936" class="footnote"><p><a href="#idp725557936" class="para"><sup class="para">[14] </sup></a>This name is historic, and will be eventuall changed to
+<div id="ftn.idp639100864" class="footnote"><p><a href="#idp639100864" class="para"><sup class="para">[19] </sup></a>This name is historic, and will be eventuall changed to
<code class="computeroutput">metatarget</code></p></div>
-<div id="ftn.idp725598032" class="footnote"><p><a href="#idp725598032" class="para"><sup class="para">[15] </sup></a>This create-then-register pattern is caused by limitations
+<div id="ftn.idp639141024" class="footnote"><p><a href="#idp639141024" class="para"><sup class="para">[20] </sup></a>This create-then-register pattern is caused by limitations
of the Boost.Jam language. Python port is likely to never create duplicate targets.</p></div>
</div>
</div>