1 # Copyright 2003 Vladimir Prus
2 # Distributed under the Boost Software License, Version 1.0.
3 # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
9 import virtual-target ;
10 import "class" : new ;
18 class test-target-class : basic-target
20 rule __init__ ( name : project )
22 basic-target.__init__ $(name) : $(project) ;
25 rule construct ( name : source-targets * : property-set )
27 if [ modules.peek : GENERATE_NOTHING ]
29 return [ property-set.empty ] ;
31 else if [ modules.peek : GENERATE_ONLY_UNUSABLE ]
33 return [ property-set.empty ]
34 [ virtual-target.from-file b.x : . : $(self.project) ]
39 return [ property-set.empty ]
40 [ virtual-target.from-file b.x : . : $(self.project) ]
41 [ virtual-target.from-file b.cpp : . : $(self.project) ]
46 rule compute-usage-requirements ( rproperties : targets * )
48 return [ property-set.create <define>FOO ] ;
52 rule make-b-main-target
54 local project = [ project.current ] ;
56 targets.main-target-alternative
57 [ new test-target-class b : $(project) ] ;
60 IMPORT $(__name__) : make-b-main-target : : make-b-main-target ;