From b6ac63225524f1b34ffc4f780726ed981ba7e6a2 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 12 Apr 2024 22:28:40 +0300 Subject: Add "@include %bootstrap" directive format for including builtin bootstrap file --- atk16_asm/asm_pass0.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'atk16_asm/asm_pass0.py') diff --git a/atk16_asm/asm_pass0.py b/atk16_asm/asm_pass0.py index f6586cd..b30ddc0 100644 --- a/atk16_asm/asm_pass0.py +++ b/atk16_asm/asm_pass0.py @@ -29,7 +29,14 @@ def pass_0(lines: list[str], file_name: str) -> Result0: match keyword: case "@include": asm_file_name = args[0] if args[0].endswith(".atk16") else args[0] + ".atk16" - path = os.path.join(os.path.dirname(file_name), asm_file_name) + # if starts with %, use the path relative to this source file, not the current working directory + if asm_file_name.startswith("%"): + path = os.path.join(os.path.dirname(__file__), "builtin_asm", asm_file_name[1:]) + # if absolute, use the absolute path + elif os.path.isabs(asm_file_name): + path = asm_file_name + else: + path = os.path.join(os.path.dirname(file_name), asm_file_name) with open(path, "r") as f: incl_lines = f.readlines() -- cgit v1.3