mirror of
https://github.com/pmret/papermario.git
synced 2024-11-10 04:52:34 +01:00
33 lines
948 B
Python
33 lines
948 B
Python
#! /usr/bin/python3
|
|
|
|
import argparse
|
|
import yaml
|
|
from pathlib import PurePath
|
|
|
|
from split import initialize_segments
|
|
|
|
parser = argparse.ArgumentParser(description="List output objects for linker script")
|
|
parser.add_argument("config", help="path to a compatible config .yaml file")
|
|
|
|
def main(config_path):
|
|
# Load config
|
|
with open(config_path) as f:
|
|
config = yaml.safe_load(f.read())
|
|
|
|
options = config.get("options")
|
|
replace_ext = options.get("ld_o_replace_extension", True)
|
|
|
|
# Initialize segments
|
|
all_segments = initialize_segments(options, config_path, config["segments"])
|
|
|
|
for segment in all_segments:
|
|
for subdir, path, obj_type, start in segment.get_ld_files():
|
|
path = PurePath(subdir) / PurePath(path)
|
|
path = path.with_suffix(".o" if replace_ext else path.suffix + ".o")
|
|
|
|
print(path)
|
|
|
|
if __name__ == "__main__":
|
|
args = parser.parse_args()
|
|
main(args.config)
|