import os
from pathlib import Path

def setup_project(target, source, env):
    dir = str(source[0])[:-9]
    home = os.getcwd()
    env.Execute("cd {} && python3 setup.py bdist && cd {}".format(dir, home))

builder = Builder(action = setup_project)
env = Environment(BUILDERS = {'Setup' : builder})

projects = list(proj for (proj, subdirs, files) in os.walk(Path()) if "setup.py" in files)
output = []
for path in projects:
    name = path.split('/')[-1]
    output.append("{}/dist/{}".format(path.replace('.', os.getcwd()), name + "-4.0.0a1.dev1.macosx-10.15-x86_64.tar.gz"))

for src, out in zip(projects, output):
    env.Setup(source=src + "/setup.py", target=out)