|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import "class" : new ; |
|
import project ; |
|
import property-set ; |
|
import targets ; |
|
|
|
|
|
class alias-target-class : basic-target |
|
{ |
|
rule __init__ ( name : project : sources * : requirements * |
|
: default-build * : usage-requirements * ) |
|
{ |
|
basic-target.__init__ $(name) : $(project) : $(sources) : |
|
$(requirements) : $(default-build) : $(usage-requirements) ; |
|
} |
|
|
|
rule construct ( name : source-targets * : property-set ) |
|
{ |
|
return [ property-set.empty ] $(source-targets) ; |
|
} |
|
|
|
rule compute-usage-requirements ( subvariant ) |
|
{ |
|
local base = [ basic-target.compute-usage-requirements $(subvariant) ] ; |
|
return [ $(base).add [ $(subvariant).sources-usage-requirements ] ] ; |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
rule alias ( name : sources * : requirements * : default-build * : |
|
usage-requirements * ) |
|
{ |
|
local project = [ project.current ] ; |
|
|
|
targets.main-target-alternative |
|
[ new alias-target-class $(name) : $(project) |
|
: [ targets.main-target-sources $(sources) : $(name) : no-renaming ] |
|
: [ targets.main-target-requirements $(requirements) : $(project) ] |
|
: [ targets.main-target-default-build $(default-build) : $(project) |
|
] |
|
: [ targets.main-target-usage-requirements $(usage-requirements) : |
|
$(project) ] |
|
] ; |
|
} |
|
|
|
|
|
IMPORT $(__name__) : alias : : alias ; |
|
|