summaryrefslogtreecommitdiff
path: root/tools/build/example/generate/gen.jam
blob: 73232aab5e2700d32e0d2791933e30c20b73b224 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

import "class" : new ;
import common ;

rule generate-example ( project name : property-set : sources * )
{
    local result ;
    for local s in $(sources)
    {
        #local source-name = [ $(s).name ] ;
        #local source-action = [ $(s).action ] ;
        #local source-properties = [ $(source-action).properties ] ;

        # Create a new action, that takes the source target and runs the
        # 'common.copy' command on it.
        local a = [ new non-scanning-action $(s) : common.copy : $(property-set)
            ] ;

        # Create a target to represent the action result. Uses the target name
        # passed here via the 'name' parameter and the same type and project as
        # the source.
        result += [ new file-target $(name) : [ $(s).type ] : $(project) : $(a)
            ] ;
    }
    return $(result) ;
}