1[[bbv2.reference.class.basic-target]] 2= Class basic-target 3 4[source] 5---- 6class basic-target : abstract-target { 7 rule __init__ ( name : project : sources * : requirements * : default-build * : usage-requirements * ) 8 rule generate ( property-set ) 9 rule construct ( name : source-targets * : property-set ) 10 11 # Methods inherited from abstract-target 12 rule name ( ) 13 rule project ( ) 14 rule location ( ) 15 rule full-name ( ) 16} 17---- 18 19Implements the most standard way of constructing main target alternative 20from sources. Allows sources to be either files or other main targets 21and handles generation of those dependency targets. 22 23-- 241. `rule __init__ ( name : project : sources * : requirements * : default-build * : usage-requirements * )` 25+ 26`name`:: 27 The name of the target 28`project`:: 29 The link:#bbv2.reference.class.project-target[project] in which the 30 target is declared. 31 322. [[bbv2.reference.class.basic-target.generate]] `rule generate ( property-set )` 33+ 34Overrides 35link:#bbv2.reference.class.abstract-target.generate[abstract-target.generate]. 36Determines final build properties, generates sources, and calls 37link:#bbv2.reference.class.basic-target.construct[construct]. This 38method should not be overridden. 39+ 40On success, returns: 41+ 42* a property-set with the usage requirements to be applied to dependents 43* a list of produced virtual targets, which may be empty. 44 453. [[bbv2.reference.class.basic-target.construct]] `rule construct ( name : source-targets * : property-set )` 46+ 47Constructs virtual targets for this abstract target. Returns a 48usage-requirements property-set and a list of virtual targets. Should be 49overridden in derived classes. 50-- 51