ref: 34d579d9f91eebd81d025bd669b22e0a629fd549
parent: cad6f30f83e64c34c8b474d579deaff3856b5235
author: yenatch <[email protected]>
date: Thu Dec 19 21:43:35 EST 2013
use pokemontools scan_includes.py It might look the same as before, but this new name is much better! Well done!
--- a/Makefile
+++ b/Makefile
@@ -29,7 +29,7 @@
ALL_DEPENDENCIES :=
# generate a list of dependencies for each object file
$(shell $(foreach obj, $(OBJS), \
- $(eval $(obj:.o=)_DEPENDENCIES := $(shell $(PYTHON) scan_includes.py $(obj:.o=.asm) | sed s/globals.asm//g)) \
+ $(eval $(obj:.o=)_DEPENDENCIES := $(shell $(PYTHON) extras/pokemontools/scan_includes.py $(obj:.o=.asm) | sed s/globals.asm//g)) \
))
$(shell $(foreach obj, $(OBJS), \
$(eval ALL_DEPENDENCIES += $($(obj:.o=)_DEPENDENCIES)) \
--- a/scan_includes.py
+++ /dev/null
@@ -1,30 +1,0 @@
-# coding: utf-8
-
-"""
-Recursively scan an asm file for rgbasm INCLUDEs and INCBINs.
-Used to generate dependencies for each rgbasm object.
-"""
-
-import os
-import sys
-
-def recursive_scan(filename, includes = []):
- if (filename[-4:] == '.asm' or filename[-3] == '.tx') and os.path.exists(filename):
- lines = open(filename).readlines()
- for line in lines:
- for directive in ('INCLUDE', 'INCBIN'):
- if directive in line:
- line = line[:line.find(';')]
- if directive in line:
- include = line.split('"')[1]
- if include not in includes:
- includes += [include]
- includes = recursive_scan(include, includes)
- break
- return includes
-
-if __name__ == '__main__':
- filenames = sys.argv[1:]
- for filename in filenames:
- sys.stdout.write(' '.join(recursive_scan(filename)))
-