[Cook] Building tool support environments
    Jerry Pendergraft 
    jerry at endocardial.com
       
    Wed Jun  8 00:22:43 EST 2005
    
    
  
On Mon, 6 Jun 2005, Henderson, Michael D wrote:
> [snip]
> That works pretty well, but I'd like to have foo and bar use different include paths than the other tools directories. I can do that (and am, ick) by putting this in the cook file, above the generic tools.
> 
>  tools/foo/%0%.o: tools/foo/%0%.cpp { [cpp] [tools_foo_cpp_include] ... }
>  tools/bar/%0%.o: tools/bar/%0%.cpp { [cpp] [tools_bar_cpp_include] ... }
> 
> Could something like this work?
> 
>  tools/%1/%0%.o: tools/foo/%1%.cpp { [cpp] [tools_%1_cpp_include] ... }
> 
> If I tried to do that, how could I prevent tools/hoe and tools/rake from matching? I thought that I could just add something like
> 
Set the values for foo and bar explicitly then have the recipe something like:
tools/%1/%0%.o: tools/foo/%1%.cpp
{
    local incl = [cpp_include];  /* your default */
    if [defined tools_%1_cpp_include] then
        incl = [tools_%1_cpp_include];
    [cpp] [incl] [resolve tools/foo/%1%.cpp] > [target];
}
Assuming you have unique file names, you can also combine recipes a bit:
%1/%2/%0%.o: [match_mask %0%2.cpp [project_files]]
{
    local incl = [cpp_include];  /* your default */
    if [defined %1_%2_cpp_include] then
        incl = [%1_%2_cpp_include];
    [cpp] [incl] [resolve [match_mask %0%2.cpp [project_files]]] > [target];
}
> 
> BTW, if I'm just approaching this insanely, let me know. I'm not above rearranging my directory tree to make things easier to work with.
Using cook allows you to support whatever organization makes sense ;^)
> 
> Thanks,
> Mike
> _______________________________________________
> Cook-users mailing list
> Cook-users at auug.org.au
> http://www.auug.org.au/mailman/listinfo/cook-users
> 
-- 
Jerry Pendergraft                        jerry.pendergraft at endocardial.com
St. Jude Medical                         voice: 651-523-6935
1350 Energy Lane, Suite 110                fax: 651-644-7897
St Paul, MN 55108-5254                  mobile: 651-491-0163
    
    
More information about the Cook-users
mailing list