#! /usr/bin/env python3

#
#  Copyright 2016 - 2026 gary@drinkingtea.net
#
#  This Source Code Form is subject to the terms of the Mozilla Public
#  License, v. 2.0. If a copy of the MPL was not distributed with this
#  file, You can obtain one at http://mozilla.org/MPL/2.0/.
#

import platform
import shutil
import subprocess
import sys

os = platform.system().lower()
arch = platform.machine()
host_env = f'{os}-{arch}'

def run(args: list[str]):
    if subprocess.run(args).returncode != 0:
        sys.exit(1)

# get the current build type
with open(".current_build", "r") as f:
    current_build = f.readlines()[0]
if current_build[-1] == '\n':
    current_build = current_build[:-1]

project_dir = sys.argv[1]
project_name = sys.argv[2]
bin = f'./build/{host_env}-{current_build}/bin/'
project_bin = f'build/gba-release/bin/{project_name}.bin'
project_gba = f'{project_name}.gba'
project_manifest = f'{project_name.lower()}-manifest.json'

shutil.copyfile(project_bin, project_gba)
run([
    f'{bin}/{project_name.lower()}-pack',
        '-src', project_dir,
        '-rom-bin', project_gba,
        '-manifest', project_manifest])
run(['gbafix', project_gba])
