| 47 | f.write(content) |
| 48 | |
| 49 | def PrepareBuildDir(arch, mode): |
| 50 | build_dir = os.path.join("out", f"{arch}.{mode}") |
| 51 | if not os.path.exists(build_dir): |
| 52 | print(f"# mkdir -p {build_dir}") |
| 53 | os.makedirs(build_dir) |
| 54 | args_gn = os.path.join(build_dir, "args.gn") |
| 55 | if not os.path.exists(args_gn): |
| 56 | conf = gm.ManagedConfig(arch, mode, []) |
| 57 | _Write(args_gn, conf.get_gn_args()) |
| 58 | build_ninja = os.path.join(build_dir, "build.ninja") |
| 59 | if not os.path.exists(build_ninja): |
| 60 | code = _Call(f"gn gen {build_dir}") |
| 61 | if code != 0: raise Exception("gn gen failed") |
| 62 | else: |
| 63 | _Call(f"autoninja -C {build_dir} build.ninja") |
| 64 | return build_dir |
| 65 | |
| 66 | def AddTargetsForArch(arch, combined): |
| 67 | build_dir = PrepareBuildDir(arch, "debug") |