Boost logo

Boost-Build :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2007-09-17 16:14:23


On 09/04/07 15:12, Larry Evans wrote:
[snip]
> This reminded me of a problem I had with naming targets on the command
> line. In a Jamfile.v2, I had to write:
>
> exe main : main.cpp
>
> obj main_obj : main.cpp
>
> and to create the object, I had to `bjam --v2 main_obj`, or something
> like that (now that I think a little more, there's something not quite
> right about that description. What would that create main_obj.o on
> unix and main_obj.obj on windows?).
[snip]
OOPS. I should have read:

http://boost.org/boost-build2/doc/html/bbv2/advanced/targets.html

which contains:

The entire name is significant when resolving references from other
targets. For determining filenames, only the part before the first dot
is taken. For example:

obj test.release : test.cpp : <variant>release ;
obj test.debug : test.cpp : <variant>debug ;

will generate two files named test.obj (in two different directories),
not two files named test.release.obj and test.debug.obj.

thus, instead of my above example, I could use:

   exe main.exe : main.cpp

   obj main_obj : main.cpp

and then, on command line:

   bjam main.exe

to create the target named main.exe, or

   bjam main.obj

to create the target named main.obj. Of course
on unix the actual filenames would just be main and main.o.

Sorry for noise.


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