summaryrefslogtreecommitdiff
path: root/tools/build/v2/example/generate/gen.jam
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build/v2/example/generate/gen.jam')
-rw-r--r--tools/build/v2/example/generate/gen.jam26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/build/v2/example/generate/gen.jam b/tools/build/v2/example/generate/gen.jam
new file mode 100644
index 0000000000..73232aab5e
--- /dev/null
+++ b/tools/build/v2/example/generate/gen.jam
@@ -0,0 +1,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) ;
+} \ No newline at end of file