Combine all boot build stuff in a single scons tool
[senf.git] / senfscons / CopyToDir.py
index 7f001ef..c55d1de 100644 (file)
@@ -10,11 +10,15 @@ import os.path
 import SCons.Builder, SCons.Defaults
 
 def emitter(source, target, env):
-    return ([ os.path.join(str(target[0]),source[0].name) ], source)
+    source = env.arg2nodes(source, env.fs.File)
+    target = env.arg2nodes(target, env.fs.Dir)
+    return ([ target[0].File(src.name) for src in source ], source)
+
+def generator(source, target, env, for_signature):
+    return [ SCons.Defaults.Copy(t, s) for s, t in zip(source, target) ]
 
 CopyToDir = SCons.Builder.Builder(emitter = emitter,
-                                  action = SCons.Defaults.Copy("$TARGET","$SOURCE"),
-                                  single_source = True)
+                                  generator = generator)
 
 def generate(env):
     env['BUILDERS']['CopyToDir'] = CopyToDir