
project test 
    : requirements <include>src1 
    ;

exe a 
    : x.foo a.cpp 
    ;
    
exe b
    : b.cpp
    ;    
    
# Because of <define>, c.cpp will be compiled to different
# directory than everything for main target "a". Therefore
# without <dependency>, it won't find "x.h", which is part
# of "a"'s dependency graph.
exe c
    : c.cpp 
    : <define>FOO <dependency>a
    ;    
  
# Try the same as above, only when other target is specified
# not as dependency, but as source
 
lib d 
    : y.foo 
    ;
    
exe e
    : e.cpp d
    : <define>FOO 
    ;
