| # Copyright 2007 Vladimir Prus |
| # Distributed under the Boost Software License, Version 1.0. |
| # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) |
| |
| 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) ; |
| } |
| |
| generate a2 : a.cpp : <generating-rule>@generate-example ; |