summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2015-06-20 13:41:55 +0200
committer Miodrag Milanovic <mmicko@gmail.com>2015-06-20 13:41:55 +0200
commit4ee9d896e5d409ad7b2b9b08297cf4f4eced7451 (patch)
tree481c77c11272ad44cdb6a416e32509c9fd911b98
parent654a5ca29b8a78694f5279b68ad45f9fb37c6513 (diff)
extract components used (nw)
-rw-r--r--src/build/makedep.py32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/build/makedep.py b/src/build/makedep.py
index 37dd54cc7c0..2c6dcfe50d8 100644
--- a/src/build/makedep.py
+++ b/src/build/makedep.py
@@ -11,6 +11,10 @@ files_included = ['src/emu/emu.h']
include_dirs = ['src/emu/', 'src/mame/', 'src/mess/']
+mappings = dict()
+
+components = []
+
def file_exists(srcfile, folder):
includes = [ folder ]
includes.extend(include_dirs)
@@ -65,16 +69,42 @@ def parse_file(srcfile, folder):
if fullname in files_included:
continue
if fullname!='':
- sys.stderr.write("Includes '%s'\n" % fullname)
+ if fullname in mappings.keys():
+ if not(mappings[fullname] in components):
+ components.append(mappings[fullname])
+ sys.stderr.write("%s\n" % mappings[fullname])
files_included.append(fullname)
newfolder = fullname.rsplit('/', 1)[0] + '/'
parse_file(fullname, newfolder)
continue
return 0
+def parse_lua_file(srcfile):
+ try:
+ fp = open(srcfile, 'rb')
+ except IOError:
+ sys.stderr.write("Unable to open source file '%s'\n" % srcfile)
+ return 1
+ in_comment = 0
+ linenum = 0
+ for line in fp.readlines():
+ content = line.strip()
+ if len(content)>0:
+ if content.startswith('--@'):
+ name = content[3:]
+ mappings[name.rsplit(',', 1)[0]] = name.rsplit(',', 1)[1]
+ return 0
+
if len(sys.argv) < 2:
print('Usage:')
print(' makedep <source.c>')
sys.exit(0)
+parse_lua_file('scripts/src/bus.lua')
+parse_lua_file('scripts/src/cpu.lua')
+parse_lua_file('scripts/src/machine.lua')
+parse_lua_file('scripts/src/sound.lua')
+parse_lua_file('scripts/src/video.lua')
+
parse_file(sys.argv[1],'')
+