summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rw-r--r--tools/makerel.py24
2 files changed, 25 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 0089153949..dbf54f56b5 100644
--- a/Makefile
+++ b/Makefile
@@ -162,7 +162,8 @@ docs:
rels: $(ELF) $(RELS)
@echo generating RELs from .plf
- @$(PYTHON) $(MAKEREL) build --string-table $(BUILD_DIR)/frameworkF.str $(RELS) $(ELF)
+ @echo $(RELS) > build/plf_files
+ $(PYTHON) $(MAKEREL) build --string-table $(BUILD_DIR)/frameworkF.str @build/plf_files $(ELF)
$(ELF): $(LIBS) $(O_FILES)
@echo $(O_FILES) > build/o_files
diff --git a/tools/makerel.py b/tools/makerel.py
index 763ce1726d..4ed4fb3050 100644
--- a/tools/makerel.py
+++ b/tools/makerel.py
@@ -583,5 +583,27 @@ def load_elfs(str_paths):
return static, plfs
+def convert_arg_line_to_args(arg_line: str):
+ return arg_line.split(' ')
+
+
+def _read_args_from_files(args: List[str]):
+ new_args: List[str] = []
+ for arg in args:
+ if not arg or arg[0] != '@':
+ new_args.append(arg)
+ else:
+ with open(arg[1:], 'r') as file:
+ file_args: List[str] = []
+ for line in file:
+ for file_arg in convert_arg_line_to_args(line.strip()):
+ file_args.append(file_arg)
+ file_args = _read_args_from_files(file_args)
+ new_args.extend(file_args)
+
+ return new_args
+
+
if __name__ == "__main__":
- makerel()
+ args = _read_args_from_files(sys.argv[1:])
+ makerel(args)