mirror of
https://github.com/zeldaret/ph
synced 2026-08-04 09:08:46 -04:00
Run m2ctx from build.ninja
This commit is contained in:
@@ -4,6 +4,7 @@ import os
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import platform
|
import platform
|
||||||
import argparse
|
import argparse
|
||||||
|
import sys
|
||||||
|
|
||||||
import ninja_syntax
|
import ninja_syntax
|
||||||
|
|
||||||
@@ -95,6 +96,9 @@ match platform.machine().lower():
|
|||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
PYTHON = sys.executable
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
with build_ninja_path.open("w") as file:
|
with build_ninja_path.open("w") as file:
|
||||||
n = ninja_syntax.Writer(file)
|
n = ninja_syntax.Writer(file)
|
||||||
@@ -153,6 +157,12 @@ def main():
|
|||||||
)
|
)
|
||||||
n.newline()
|
n.newline()
|
||||||
|
|
||||||
|
n.rule(
|
||||||
|
name="m2ctx",
|
||||||
|
command=f"{PYTHON} tools/m2ctx.py -f $out $in"
|
||||||
|
)
|
||||||
|
n.newline()
|
||||||
|
|
||||||
for game_version in os.listdir(config_path):
|
for game_version in os.listdir(config_path):
|
||||||
game_config = config_path / game_version
|
game_config = config_path / game_version
|
||||||
if not game_config.is_dir(): continue
|
if not game_config.is_dir(): continue
|
||||||
@@ -179,6 +189,7 @@ def add_extract_build(n: ninja_syntax.Writer, game_extract: Path, game_version:
|
|||||||
"output_path": str(game_extract)
|
"output_path": str(game_extract)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
n.newline()
|
||||||
|
|
||||||
|
|
||||||
def add_mwld_and_rom_builds(n: ninja_syntax.Writer, game_build: Path, game_config: Path, game_version: str):
|
def add_mwld_and_rom_builds(n: ninja_syntax.Writer, game_build: Path, game_config: Path, game_version: str):
|
||||||
@@ -200,6 +211,7 @@ def add_mwld_and_rom_builds(n: ninja_syntax.Writer, game_build: Path, game_confi
|
|||||||
"lcf_file": lcf_file,
|
"lcf_file": lcf_file,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
n.newline()
|
||||||
|
|
||||||
rom_config_file = str(game_build / "build" / "rom_config.yaml")
|
rom_config_file = str(game_build / "build" / "rom_config.yaml")
|
||||||
n.build(
|
n.build(
|
||||||
@@ -210,6 +222,7 @@ def add_mwld_and_rom_builds(n: ninja_syntax.Writer, game_build: Path, game_confi
|
|||||||
"config_path": game_config / "arm9" / "config.yaml",
|
"config_path": game_config / "arm9" / "config.yaml",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
n.newline()
|
||||||
|
|
||||||
rom_file = f"{GAME}_{game_version}.nds"
|
rom_file = f"{GAME}_{game_version}.nds"
|
||||||
n.build(
|
n.build(
|
||||||
@@ -217,6 +230,7 @@ def add_mwld_and_rom_builds(n: ninja_syntax.Writer, game_build: Path, game_confi
|
|||||||
rule="rom_build",
|
rule="rom_build",
|
||||||
outputs=rom_file,
|
outputs=rom_file,
|
||||||
)
|
)
|
||||||
|
n.newline()
|
||||||
|
|
||||||
|
|
||||||
def add_mwcc_builds(n: ninja_syntax.Writer, game_version: str, game_build: Path):
|
def add_mwcc_builds(n: ninja_syntax.Writer, game_version: str, game_build: Path):
|
||||||
@@ -235,6 +249,15 @@ def add_mwcc_builds(n: ninja_syntax.Writer, game_version: str, game_build: Path)
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
n.newline()
|
n.newline()
|
||||||
|
|
||||||
|
extension = source_file.suffix
|
||||||
|
ctx_file = str(game_build / source_file.with_suffix(f".ctx{extension}"))
|
||||||
|
n.build(
|
||||||
|
inputs=str(source_file),
|
||||||
|
rule="m2ctx",
|
||||||
|
outputs=ctx_file,
|
||||||
|
)
|
||||||
|
n.newline()
|
||||||
|
|
||||||
|
|
||||||
def get_c_cpp_files(dirs: list[Path]):
|
def get_c_cpp_files(dirs: list[Path]):
|
||||||
@@ -298,6 +321,7 @@ def add_delink_and_lcf_builds(n: ninja_syntax.Writer, game_config: Path, game_bu
|
|||||||
"output_path": objdiff_config.parent,
|
"output_path": objdiff_config.parent,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
n.newline()
|
||||||
|
|
||||||
|
|
||||||
def get_config_files(game_config: Path, name: str):
|
def get_config_files(game_config: Path, name: str):
|
||||||
|
|||||||
Reference in New Issue
Block a user