Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-10-16 01:42:44

David Abrahams wrote:
> Furthermore, it gets even more interesting: right now, if I want to
> compile all of the files foo.cpp which are part of targets in the
> local Jamfile, I use:
> bjam ... foo.obj
> On the command-line under Windows, or
> bjam ... foo.o
> Under Linux. Actually, it's a pain to have to remember two different
> suffixes, but anyway the point is that fake targets get created which
> make this possible. If we vary the extension based on toolset, we need
> to make sure /not/ to do that for the fake targets. Or, we should
> provide a different mechanism for this.

Actually, the code we have now is not very friendly to fake targets.
Everything in command line which is not property or option is considered
target id, so you can write:

bjam @/boost/test

It won't build dependency graph for entire boost and then update part of
it. It will call 'generate' method on project target for the specified
library only.

OTOH, to make fake targets works are explained above, you'd need to
construct full dependency graph for project in "." and then update part
of it.

Probably, we can introduce additional syntax, for example

bjam @/boost/test foo:OBJ

This will mean
1. Update target @/boost/test
2. Update all targets called "foo" with type OBJ in "."

I guess

bjam dir1/foo.o

is something rare, so we should not bother supporting it.

- Volodya


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at