diff options
Diffstat (limited to 'scan_includes.py')
-rw-r--r-- | scan_includes.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/scan_includes.py b/scan_includes.py new file mode 100644 index 000000000..3f006998c --- /dev/null +++ b/scan_includes.py @@ -0,0 +1,29 @@ +# coding: utf-8 + +""" +Recursively scan an asm file for rgbasm INCLUDEs and INCBINs. +This is used to generate dependencies for each rgbasm object file. +""" + +import sys + +def scan_for_includes(filename): + filenames = [] + for line in open(filename, 'r').readlines(): + if 'INCLUDE' in line or 'INCBIN' in line: + line = line.split(';')[0] + if 'INCLUDE' in line or 'INCBIN' in line: + filenames += [line.split('"')[1]] + return filenames + +def recursive_scan_for_includes(filename): + filenames = [] + if '.asm' in filename or '.tx' in filename: + for include in scan_for_includes(filename): + filenames += [include] + recursive_scan_for_includes(include) + return filenames + +if len(sys.argv) > 1: + for arg in sys.argv[1:]: + sys.stdout.write(' '.join(recursive_scan_for_includes(arg))) + |