mirror of https://github.com/pret/pokecrystal.git
Add a custom scan_includes.py.
This commit is contained in:
parent
d257188282
commit
05cffac744
3
Makefile
3
Makefile
|
@ -6,9 +6,8 @@ MD5 := md5sum -c --quiet
|
||||||
.SECONDEXPANSION:
|
.SECONDEXPANSION:
|
||||||
.PRECIOUS: %.2bpp %.1bpp
|
.PRECIOUS: %.2bpp %.1bpp
|
||||||
|
|
||||||
poketools := extras/pokemontools
|
|
||||||
gfx := $(PYTHON) gfx.py
|
gfx := $(PYTHON) gfx.py
|
||||||
includes := $(PYTHON) $(poketools)/scan_includes.py
|
includes := $(PYTHON) scan_includes.py
|
||||||
|
|
||||||
|
|
||||||
crystal_obj := \
|
crystal_obj := \
|
||||||
|
|
|
@ -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()
|
Loading…
Reference in New Issue