diff options
author | entrpntr <entrpntr@gmail.com> | 2020-04-20 21:27:44 -0400 |
---|---|---|
committer | entrpntr <entrpntr@gmail.com> | 2020-04-20 21:36:29 -0400 |
commit | b87cc706430f281d6af24daa942890574449a803 (patch) | |
tree | 6d292a71a1c5d302b57c3e85cf40a5f52dfddfcd /tools/scan_includes.py | |
parent | 2883bfb9b1d3db35d9f1cb61ee0d9c015df4de30 (diff) |
Miscellaneous cleanup before continuing.
Diffstat (limited to 'tools/scan_includes.py')
-rw-r--r-- | tools/scan_includes.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/scan_includes.py b/tools/scan_includes.py new file mode 100644 index 00000000..60929d3f --- /dev/null +++ b/tools/scan_includes.py @@ -0,0 +1,35 @@ +#!/bin/python +# coding: utf-8 + +""" +Recursively scan an asm file for dependencies. +""" + +import sys +import argparse + +includes = set() + +def scan_file(filename): + for line in open(filename): + if 'INC' not in line: + continue + line = line.split(';')[0] + if 'INCLUDE' in line: + include = line.split('"')[1] + includes.add(include) + scan_file(include) + elif 'INCBIN' in line: + include = line.split('"')[1] + includes.add(include) + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument('filenames', nargs='*') + args = ap.parse_args() + for filename in set(args.filenames): + scan_file(filename) + sys.stdout.write(' '.join(includes)) + +if __name__ == '__main__': + main() |