shithub: pokecrystal

Download patch

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)))
-