[jamming] Jam commands to build a specific file

Craig Kadziolka craigk at wp.pl
Thu Jun 1 03:09:43 PDT 2006


Hi Kai,

Thanks for your reply (plus your reply to my other question too). This works 
great for me. It was a big help.

Thanks again.

Craig.

----- Original Message ----- 
From: "Kai Backman" <kaib at google.com>
To: "Craig Kadziolka" <craigk at wp.pl>
Cc: <jamming at perforce.com>
Sent: Thursday, June 01, 2006 4:44 AM
Subject: Re: [jamming] Jam commands to build a specific file


> Hi Craig,
>
> Here is your Jamfile slightly rewritten:
>
> ---<snip>---
> C++ = g++ ;
> LINK = g++ ;
>
> rule Resource
> {
>  # This used to be Resource (typo?)
>  DEPENDS $(<) : $(>) ;
> }
>
> actions Resource
> {
>  windres $(>) $(<) -Iassets\\graphics
> }
>
> SRC = [ FDirName src platform Windows entry.cpp ] ;
> RES_FILE = [ FDirName src platform Windows resources.res ] ;
>
> DEPENDS all : mytest ;
>
> # By using INCLUDES you force the exe to depend on the rc file
> # and thus make jam update it before it compiles the exe (which
> # is usually what you want). You could alternatively do this instead:
> # DEPENDS [ FDirName path to mytest.exe ] : $(RES_FILE:S=.rc) ;
> INCLUDES $(SRC) : $(RES_FILE:S=.rc) ;
>
> Resource $(RES_FILE:S=.rc) : $(RES_FILE) ;
>
> # Get the rc file on the link command line
> LINKFLAGS = $(RES_FILE:S=.rc) ;
>
> Main mytest : $(SRC) ;
> ---<snip>---
>
> Let me know if this solves what you had in mind.
>
> Take care,
>
> Kai
>
>
>
> On 5/27/06, Craig Kadziolka <craigk at wp.pl> wrote:
>> Hi everyone,
>>
>> I was wondering if it is possible to specify a jam rule/action to tell 
>> jam
>> how to build a specific file as part of a larger build.
>>
>> I just want to be able to tell Jam to build resources.o from 
>> resources.rc,
>> but to do that as part of the overall build of "mytest"
>>
>> For example, I want to build a windows RC file, so my Jamfile looks like
>> this:
>>
>> C++                 =   g++ ;
>> LINK                =   g++ ;
>>
>> rule Resource { Resource $(<) : $(>) ; }
>> actions Resource { windres $(>) $(<) -Iassets\\graphics }
>>
>> SRC =
>>     src\\platform\\Windows\\entry.cpp
>>     src\\platform\\Windows\\resources.rc
>>     ;
>>
>>
>> DEPENDS all             :   mytest
>>                       ;
>>
>> Main mytest         :   $(SRC)
>>                       ;
>>
>>
>> Resource src\\platform\\Windows\\resources.rc ;
>>
>> ------------- end jamfile
>>
>> However it complains about an unknown suffix for resources.rc. Is there 
>> any
>> way to make Jam work in this situation without going and extending 
>> Jambase
>> and rebuilding jam itself?
>>
>> Im sorry if this message gets sent twice to the mailing list, i tried to
>> send it last night but accidentally from a different email account and it
>> didnt seem to get through.
>>
>> Thanks in advance,
>>
>> Craig.
>>
>> _______________________________________________
>> jamming mailing list  -  jamming at perforce.com
>> http://maillist.perforce.com/mailman/listinfo/jamming
>>
>
>
> -- 
> Kai Backman, Software Engineer, kaib at google.com
> 




More information about the jamming mailing list