import sys env = Environment(tools=['python']) # Copy each file individually instead of copying the dir. This has the benefit # of establishing nodes in-memory for each of the resulting files, which helps # the scanner work correctly. srcDir = env.Dir('to_be_copied') for srcNode in srcDir.glob('*'): for destDir in [env.Dir('package1'), env.Dir('package2')]: env.Command(destDir.File(srcNode.name), srcNode, Copy('$TARGET', '$SOURCE')) # Don't set a dependency on the copy actions on purpose. Scanner should find # the dependencies automatically. env.Command('a.out', 'script.py', '$PYTHON $SOURCE $TARGET', PYTHON=sys.executable)