diff options
author | 2015-06-20 13:41:55 +0200 | |
---|---|---|
committer | 2015-06-20 13:41:55 +0200 | |
commit | 4ee9d896e5d409ad7b2b9b08297cf4f4eced7451 (patch) | |
tree | 481c77c11272ad44cdb6a416e32509c9fd911b98 | |
parent | 654a5ca29b8a78694f5279b68ad45f9fb37c6513 (diff) |
extract components used (nw)
-rw-r--r-- | src/build/makedep.py | 32 |
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],'') + |