Boost logo

Boost-Build :

Subject: Re: [Boost-build] Identifying target-name in jamfile
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-05-30 09:44:22


On 5/30/2016 6:38 AM, Vladimir Prus wrote:
> On 30/05/2016 04:36, Edward Diener wrote:
>> On 5/29/2016 4:59 PM, Steven Watanabe wrote:
>>> AMDG
>>>
>>> On 05/29/2016 02:37 PM, Edward Diener wrote:
>>>> On 5/29/2016 3:18 PM, Steven Watanabe wrote:
>>>>>
>>>>> The rules like exe, run, obj, etc, register
>>>>> the targets. Each project essentially stores
>>>>> a map of target names to main-target's.
>>>>
>>>> What does "registering a target" entail ? I have a non-local rule in a
>>>> jamfile that evidently Boost Build recognizes as creating a target, but
>>>> I don't know how Boost Build recognizes it as a target. Whatever
>>>> "registering a target" means I am not doing this for the rule.
>>>>
>>>
>>> From the point of view of Boost.Build internals,
>>> a project is effectively a container for targets.
>>> When you call the rules for creating targets,
>>
>> Which are what ? All non-local rules in a jamfile are considered
>> targets by Boost Build ?
>
> Which are rules that ultimately call target.main-target-alternative.
> There's no special class
> of rules, say, the 'exe' is just a function that ends up calling
> target.main-target-alternative
> with the name passed as first parameter to it, and with a target object.
> If you create
> a rule that does not do that, it will be just a function, no targets
> will be implicitly created.
>

A list of built-in rules that call target.main-target-alternative would
be helpful in the documentation. Or are all the built-in rules listed in
the doc ones that call target.main-target-alternative ? That way I could
know whether my own rules are targets based on which other rules it invokes.


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk