| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE section PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" |
| "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"> |
| |
| <section id="bbv2.reference.class.abstract-target"> |
| |
| <title>Class abstract-target</title> |
| <indexterm> |
| <primary>abstract-target</primary> |
| </indexterm> |
| |
| <para> |
| Base class for all abstract targets. |
| </para> |
| |
| <programlisting language="jam"> |
| class abstract-target { |
| rule <link linkend="bbv2.reference.class.abstract-target.__init__">__init__</link> ( name : project ) |
| rule <link linkend="bbv2.reference.class.abstract-target.name">name</link> ( ) |
| rule <link linkend="bbv2.reference.class.abstract-target.project">project</link> ( ) |
| rule <link linkend="bbv2.reference.class.abstract-target.location">location</link> ( ) |
| rule <link linkend="bbv2.reference.class.abstract-target.full-name">full-name</link> ( ) |
| rule <link linkend="bbv2.reference.class.abstract-target.__init__">generate</link> ( property-set ) |
| } |
| </programlisting> |
| |
| <para> |
| Classes derived from <link linkend="bbv2.reference.class.abstract-target">abstract-target</link>: |
| <itemizedlist> |
| <listitem> |
| <link linkend="bbv2.reference.class.project-target">project-target</link> |
| </listitem> |
| <listitem> |
| <link linkend="bbv2.reference.class.main-target">main-target</link> |
| </listitem> |
| <listitem> |
| <link linkend="bbv2.reference.class.project-target">basic-target</link> |
| </listitem> |
| </itemizedlist> |
| </para> |
| |
| <orderedlist> |
| |
| <listitem id="bbv2.reference.class.abstract-target.__init__"> |
| <code language="jam">rule __init__ ( name : project )</code> |
| <para> |
| <variablelist> |
| <varlistentry> |
| <term><literal>name</literal></term> |
| <listitem> |
| <para>The name of the target in the Jamfile.</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><literal>project</literal></term> |
| <listitem> |
| <para>The <link linkend="bbv2.reference.class.project-target">project</link> to which this target belongs.</para> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| </para> |
| </listitem> |
| |
| <listitem id="bbv2.reference.class.abstract-target.name"> |
| <indexterm zone="bbv2.reference.class.abstract-target.name"> |
| <primary>name</primary> |
| <secondary>Abstract Target</secondary> |
| </indexterm> |
| <code language="jam">rule name ( )</code> |
| <para>Returns the name of this target.</para> |
| </listitem> |
| |
| <listitem id="bbv2.reference.class.abstract-target.project"> |
| <indexterm zone="bbv2.reference.class.abstract-target.project"> |
| <primary>project</primary> |
| <secondary>Abstract Target</secondary> |
| </indexterm> |
| <code language="jam">rule project ( )</code> |
| <para>Returns the <link linkend="bbv2.reference.class.project-target">project</link> for this target.</para> |
| </listitem> |
| |
| <listitem id="bbv2.reference.class.abstract-target.location"> |
| <indexterm zone="bbv2.reference.class.abstract-target.location"> |
| <primary>location</primary> |
| <secondary>Abstract Target</secondary> |
| </indexterm> |
| <code language="jam">rule location ( )</code> |
| <para>Returns the location where the target was declared.</para> |
| </listitem> |
| |
| <listitem id="bbv2.reference.class.abstract-target.full-name"> |
| <indexterm zone="bbv2.reference.class.abstract-target.full-name"> |
| <primary>full-name</primary> |
| <secondary>Abstract Target</secondary> |
| </indexterm> |
| <code language="jam">rule full-name ( )</code> |
| <para>Returns a user-readable name for this target.</para> |
| </listitem> |
| |
| <listitem id="bbv2.reference.class.abstract-target.generate"> |
| <indexterm zone="bbv2.reference.class.abstract-target.generate"> |
| <primary>generate</primary> |
| <secondary>Abstract Target</secondary> |
| </indexterm> |
| <code language="jam">rule generate ( property-set )</code> |
| <para> |
| Generates virtual targets for this abstract target using the specified |
| properties, unless a different value of some feature is required by the |
| target. This is an abstract method which must be overriden by derived |
| classes. |
| </para> |
| |
| <para> |
| On success, returns: |
| <itemizedlist> |
| <listitem>a property-set with the usage requirements to be applied to dependents</listitem> |
| <listitem>a list of produced virtual targets, which may be empty.</listitem> |
| </itemizedlist> |
| If <code language="jam">property-set</code> is empty, performs the |
| default build of this target, in a way specific to the derived class. |
| </para> |
| </listitem> |
| |
| </orderedlist> |
| |
| </section> |