mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
36 lines
680 B
Python
36 lines
680 B
Python
|
#!/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()
|