|
Boost-Build : |
From: David Abrahams (dave_at_[hidden])
Date: 2002-10-16 08:09:04
Vladimir Prus <ghost_at_[hidden]> writes:
> David Abrahams wrote:
> 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.
I like that fact. My theory about the above is that it should treat
all targets you name as main targets, and if it can find them it
should be satisfied. If any targets don't name main targets, then it
should try to build more parts of the dependency graph.
> 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.
Yeah, it is... though I think we ought to consider supporting such
things as:
bjam --compile=foo/bar/baz.cpp
bjam --preprocess=foo/bar.cpp
and probably also:
bjam --recompile=foo/bar/baz.cpp # no dependency checking!
-- David Abrahams * Boost Consulting dave_at_[hidden] * http://www.boost-consulting.com
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