diff options
author | 2022-06-13 16:53:23 +1000 | |
---|---|---|
committer | 2022-06-13 16:53:23 +1000 | |
commit | 74fe6e9d5ca562915fcb70614d36d1b5101e695b (patch) | |
tree | eb19bd028a70ece6c79f17a9a8c14bd348b42c14 /scripts | |
parent | 30ef2dd86b11eb1f3d80412f0819b42a5af16966 (diff) |
-Got rid of some legacy MESS support glue.
* Got rid of the special-casing for the "mess" subtarget name.
* Got rid of the MESS-specific Windows resources, emuator info source
and man page.
* Added subtarget name to the internal name and original name in Windows
resources.
-ui: Put the system-specific items on the input settings menu together,
and fixed the crosshair visibility settings.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/build/verinfo.py | 256 | ||||
-rw-r--r-- | scripts/resources/windows/mame/mame.rc | 3 | ||||
-rw-r--r-- | scripts/resources/windows/mess/mess.ico | bin | 372526 -> 0 bytes | |||
-rw-r--r-- | scripts/resources/windows/mess/mess.man | 16 | ||||
-rw-r--r-- | scripts/resources/windows/mess/mess.rc | 14 | ||||
-rw-r--r-- | scripts/src/main.lua | 138 |
6 files changed, 201 insertions, 226 deletions
diff --git a/scripts/build/verinfo.py b/scripts/build/verinfo.py index 59e383624cc..7e61012b796 100644 --- a/scripts/build/verinfo.py +++ b/scripts/build/verinfo.py @@ -1,171 +1,137 @@ #!/usr/bin/python3 ## ## license:BSD-3-Clause -## copyright-holders:Aaron Giles, Andrew Gardner +## copyright-holders:Vas Crabb +import argparse import io import re +import string import sys def parse_args(): - def usage(): - sys.stderr.write('Usage: verinfo.py [-b mame|mess|ume] [-r|-p] [-o <outfile>] <srcfile>\n') - sys.exit(1) - - flags = True - target = 'mame' - format = 'rc' - input = None - output = None - i = 1 - while i < len(sys.argv): - if flags and (sys.argv[i] == '-r'): - format = 'rc' - elif flags and (sys.argv[i] == '-p'): - format = 'plist' - elif flags and (sys.argv[i] == '-b'): - i += 1 - if i >= len(sys.argv): - usage() - else: - target = sys.argv[i] - elif flags and (sys.argv[i] == '-o'): - i += 1 - if (i >= len(sys.argv)) or (output is not None): - usage() - else: - output = sys.argv[i] - elif flags and (sys.argv[i] == '--'): - flags = False - elif flags and sys.argv[i].startswith('-'): - usage() - elif input is not None: - usage() - else: - input = sys.argv[i] - i += 1 - if input is None: - usage() - return target, format, input, output + parser = argparse.ArgumentParser() + parser.add_argument('--target', '-t', metavar='<target>', default='mame', help='target name') + parser.add_argument('--subtarget', '-s', metavar='<subtarget>', default='mame', help='subtarget name') + parser.add_argument('--executable', '-e', metavar='<executable>', default='mame', help='base executable name') + parser.add_argument('--format', '-f', choices=('rc', 'plist'), metavar='<format>', default='rc', help='output format') + parser.add_argument('--resources', '-r', metavar='<resfile>', help='resource file to include') + parser.add_argument('-o', metavar='<outfile>', help='output file name') + parser.add_argument('input', metavar='<srcfile>', help='version info source file') + return parser.parse_args() -def extract_version(input): +def extract_version(verinfo): pattern = re.compile('\s+BARE_BUILD_VERSION\s+"(([^."]+)\.([^."]+))"') - for line in input.readlines(): + for line in verinfo: match = pattern.search(line) if match: return match.group(1), match.group(2), match.group(3) return None, None, None -build, outfmt, srcfile, dstfile = parse_args() - -try: - fp = io.open(srcfile, 'r') -except IOError: - sys.stderr.write("Unable to open source file '%s'\n" % srcfile) - sys.exit(1) - -version_string, version_major, version_minor = extract_version(fp) -version_build = "0" -version_subbuild = "0" -if not version_string: - sys.stderr.write("Unable to extract version from source file '%s'\n" % srcfile) - sys.exit(1) -fp.close() +if __name__ == '__main__': + options = parse_args() -if dstfile is not None: try: - fp = open(dstfile, 'w') - except IOError: - sys.stderr.write("Unable to open output file '%s'\n" % dstfile) + with io.open(options.input, 'r') as verinfo: + verfull, vermajor, verminor = extract_version(verinfo) + verbuild = '0' + except IOError as e: + sys.stderr.write("Error reading source file '%s': %s\n" % (options.input, e)) sys.exit(1) -else: - fp = sys.stdout -if build == "mess": - # MESS - author = "MESS Team" - comments = "Multi Emulation Super System" - company_name = "MESS Team" - file_description = "MESS" - internal_name = "MESS" - original_filename = "MESS" - product_name = "MESS" - bundle_identifier = "org.mamedev.mess" -else: - # MAME - author = "Nicola Salmoria and the MAME Team" - comments = "Multi-purpose emulation framework" - company_name = "MAME Team" - file_description = "MAME" - internal_name = "MAME" if build == "mame" else build - original_filename = "MAME" if build == "mame" else build - product_name = "MAME" if build == "mame" else build - bundle_identifier = "org.mamedev." + build + if verfull is None: + sys.stderr.write("Unable to extract version from source file '%s'\n" % (options.input, )) + sys.exit(1) + + if options.format == 'plist': + template = string.Template( + '<?xml version="1.0" encoding="UTF-8"?>\n' \ + '<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n' \ + '<plist version="1.0">\n' \ + '<dict>\n' \ + '\t<key>CFBundleDisplayName</key>\n' \ + '\t<string>${product}</string>\n' \ + '\t<key>CFBundleIdentifier</key>\n' \ + '\t<string>${rdns}</string>\n' \ + '\t<key>CFBundleInfoDictionaryVersion</key>\n' \ + '\t<string>6.0</string>\n' \ + '\t<key>CFBundleName</key>\n' \ + '\t<string>${product}</string>\n' \ + '\t<key>CFBundleShortVersionString</key>\n' \ + '\t<string>${major}.${minor}.${build}</string>\n' \ + '\t<key>NSPrincipalClass</key>\n' \ + '\t<string>NSApplication</string>\n' \ + '</dict>\n' \ + '</plist>\n') + else: + template = string.Template( + '#include <windows.h>\n' \ + '#pragma code_page(65001)\n' \ + 'VS_VERSION_INFO VERSIONINFO\n' \ + '\tFILEVERSION ${major},${minor},${build},${subbuild}\n' \ + '\tPRODUCTVERSION ${major},${minor},${build},${subbuild}\n' \ + '\tFILEFLAGSMASK 0x3fL\n' \ + '\tFILEFLAGS ${winfileflags}\n' \ + '\tFILEOS VOS_NT_WINDOWS32\n' \ + '\tFILETYPE VFT_APP\n' \ + '\tFILESUBTYPE VFT2_UNKNOWN\n' \ + 'BEGIN\n' \ + '\tBLOCK "StringFileInfo"\n' \ + '\tBEGIN\n' \ + '#ifdef UNICODE\n' \ + '\t\tBLOCK "040904b0"\n' \ + '#else\n' \ + '\t\tBLOCK "040904E4"\n' \ + '#endif\n' \ + '\t\tBEGIN\n' \ + '\t\t\tVALUE "Author", "${author}\\0"\n' \ + '\t\t\tVALUE "Comments", "${comments}\\0"\n' \ + '\t\t\tVALUE "CompanyName", "${company}\\0"\n' \ + '\t\t\tVALUE "FileDescription", "${filedesc}\\0"\n' \ + '\t\t\tVALUE "FileVersion", "${major}, ${minor}, ${build}, ${subbuild}\\0"\n' \ + '\t\t\tVALUE "InternalName", "${internal}\\0"\n' \ + '\t\t\tVALUE "LegalCopyright", "${copyright}\\0"\n' \ + '\t\t\tVALUE "OriginalFilename", "${original}\\0"\n' \ + '\t\t\tVALUE "ProductName", "${product}\\0"\n' \ + '\t\t\tVALUE "ProductVersion", "${version}\\0"\n' \ + '\t\tEND\n' \ + '\tEND\n' \ + '\tBLOCK "VarFileInfo"\n' \ + '\tBEGIN\n' \ + '#ifdef UNICODE\n' \ + '\t\tVALUE "Translation", 0x409, 1200\n' \ + '#else\n' \ + '\t\tVALUE "Translation", 0x409, 1252\n' \ + '#endif\n' \ + '\tEND\n' \ + 'END\n' \ + '#include "${resources}"\n') -legal_copyright = "Copyright Nicola Salmoria and the MAME team" + internal = options.target + '_' + options.subtarget if options.target != options.subtarget else options.target + text = template.substitute( + version=verfull, + major=vermajor, minor=verminor, build='0', subbuild='0', + author='MAMEdev and contributors', + comments='Multi-purpose emulation framework', + company='MAMEdev', + filedesc='MAME', + internal=internal, + original=options.executable, + product=('MAME' if options.target == 'mame' else options.target), + rdns=('org.mamedev.' + internal), + copyright='\u00a9 1997-2022 MAMEdev and contributors', + winfileflags=('0x0L' if verbuild == '0' else 'VS_FF_PRERELEASE'), + resources=(options.resources or 'mame.rc')) -if outfmt == 'rc': - fp.write('VS_VERSION_INFO VERSIONINFO\n') - fp.write('\tFILEVERSION %s,%s,%s,%s\n' % (version_major, version_minor, version_build, version_subbuild)) - fp.write('\tPRODUCTVERSION %s,%s,%s,%s\n' % (version_major, version_minor, version_build, version_subbuild)) - fp.write('\tFILEFLAGSMASK 0x3fL\n') - if version_build == 0: - fp.write('\tFILEFLAGS 0x0L\n') + if options.o is not None: + try: + with io.open(options.o, 'w', encoding='utf-8') as out: + out.write(text) + except IOError as e: + sys.stderr.write("Error writing output file '%s': %s\n" % (options.o, e)) + sys.exit(1) else: - fp.write('\tFILEFLAGS VS_FF_PRERELEASE\n') - fp.write('\tFILEOS VOS_NT_WINDOWS32\n') - fp.write('\tFILETYPE VFT_APP\n') - fp.write('\tFILESUBTYPE VFT2_UNKNOWN\n') - fp.write('BEGIN\n') - fp.write('\tBLOCK "StringFileInfo"\n') - fp.write('\tBEGIN\n') - fp.write('#ifdef UNICODE\n') - fp.write('\t\tBLOCK "040904b0"\n') - fp.write('#else\n') - fp.write('\t\tBLOCK "040904E4"\n') - fp.write('#endif\n') - fp.write('\t\tBEGIN\n') - fp.write('\t\t\tVALUE "Author", "%s\\0"\n' % author) - fp.write('\t\t\tVALUE "Comments", "%s\\0"\n' % comments) - fp.write('\t\t\tVALUE "CompanyName", "%s\\0"\n' % company_name) - fp.write('\t\t\tVALUE "FileDescription", "%s\\0"\n' % file_description) - fp.write('\t\t\tVALUE "FileVersion", "%s, %s, %s, %s\\0"\n' % (version_major, version_minor, version_build, version_subbuild)) - fp.write('\t\t\tVALUE "InternalName", "%s\\0"\n' % internal_name) - fp.write('\t\t\tVALUE "LegalCopyright", "%s\\0"\n' % legal_copyright) - fp.write('\t\t\tVALUE "OriginalFilename", "%s\\0"\n' % original_filename) - fp.write('\t\t\tVALUE "ProductName", "%s\\0"\n' % product_name) - fp.write('\t\t\tVALUE "ProductVersion", "%s\\0"\n' % version_string) - fp.write('\t\tEND\n') - fp.write('\tEND\n') - fp.write('\tBLOCK "VarFileInfo"\n') - fp.write('\tBEGIN\n') - fp.write('#ifdef UNICODE\n') - fp.write('\t\tVALUE "Translation", 0x409, 1200\n') - fp.write('#else\n') - fp.write('\t\tVALUE "Translation", 0x409, 1252\n') - fp.write('#endif\n') - fp.write('\tEND\n') - fp.write('END\n') -elif outfmt == 'plist': - fp.write('<?xml version="1.0" encoding="UTF-8"?>\n') - fp.write('<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n') - fp.write('<plist version="1.0">\n') - fp.write('<dict>\n') - fp.write('\t<key>CFBundleDisplayName</key>\n') - fp.write('\t<string>%s</string>\n' % product_name) - fp.write('\t<key>CFBundleIdentifier</key>\n') - fp.write('\t<string>%s</string>\n' % bundle_identifier) - fp.write('\t<key>CFBundleInfoDictionaryVersion</key>\n') - fp.write('\t<string>6.0</string>\n') - fp.write('\t<key>CFBundleName</key>\n') - fp.write('\t<string>%s</string>\n' % product_name) - fp.write('\t<key>CFBundleShortVersionString</key>\n') - fp.write('\t<string>%s.%s.%s</string>\n' % (version_major, version_minor, version_build)) - fp.write('\t<key>NSPrincipalClass</key>\n') - fp.write('\t<string>NSApplication</string>\n') - fp.write('</dict>\n') - fp.write('</plist>\n') -fp.flush() + sys.stdout.write(text) diff --git a/scripts/resources/windows/mame/mame.rc b/scripts/resources/windows/mame/mame.rc index 8156b424c64..14caef933b9 100644 --- a/scripts/resources/windows/mame/mame.rc +++ b/scripts/resources/windows/mame/mame.rc @@ -6,9 +6,6 @@ // //============================================================ -#include <windows.h> -#include "mamevers.rc" - 1 24 MOVEABLE PURE "mame.man" 2 ICON DISCARDABLE "mame.ico" diff --git a/scripts/resources/windows/mess/mess.ico b/scripts/resources/windows/mess/mess.ico Binary files differdeleted file mode 100644 index bab67dd6195..00000000000 --- a/scripts/resources/windows/mess/mess.ico +++ /dev/null diff --git a/scripts/resources/windows/mess/mess.man b/scripts/resources/windows/mess/mess.man deleted file mode 100644 index 7feef51ce9f..00000000000 --- a/scripts/resources/windows/mess/mess.man +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> - <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="MESS" type="win32" /> - <description>MESS</description> - <dependency> - <dependentAssembly> - <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> - </dependentAssembly> - </dependency> - <asmv3:application> - <asmv3:windowsSettings> - <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> - <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware> - </asmv3:windowsSettings> - </asmv3:application> -</assembly> diff --git a/scripts/resources/windows/mess/mess.rc b/scripts/resources/windows/mess/mess.rc deleted file mode 100644 index 1329bcd6fb8..00000000000 --- a/scripts/resources/windows/mess/mess.rc +++ /dev/null @@ -1,14 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -//============================================================ -// -// mess.rc - Minimal resource file for Win32 MAME -// -//============================================================ - -#include <windows.h> -#include "messvers.rc" - -1 24 MOVEABLE PURE "mess.man" - -2 ICON DISCARDABLE "mess.ico" diff --git a/scripts/src/main.lua b/scripts/src/main.lua index c76fa1da227..da2ba71b61f 100644 --- a/scripts/src/main.lua +++ b/scripts/src/main.lua @@ -10,20 +10,18 @@ --------------------------------------------------------------------------- function mainProject(_target, _subtarget) +local projname if (_OPTIONS["SOURCES"] == nil) then if (_target == _subtarget) then - project (_target) + projname = _target else - if (_subtarget=="mess") then - project (_subtarget) - else - project (_target .. _subtarget) - end + projname = _target .. _subtarget end else - project (_subtarget) + projname = _subtarget end - uuid (os.uuid(_target .."_" .. _subtarget)) + project (projname) + uuid (os.uuid(_target .. "_" .. _subtarget)) kind "ConsoleApp" configuration { "android*" } @@ -196,7 +194,8 @@ end override_resources = false; - maintargetosdoptions(_target,_subtarget) + maintargetosdoptions(_target, _subtarget) + local exename = projname -- FIXME: should include the OSD prefix if any includedirs { MAME_DIR .. "src/osd", @@ -207,11 +206,15 @@ end MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", GEN_DIR .. _target .. "/layout", - GEN_DIR .. "resource", ext_includedir("zlib"), ext_includedir("flac"), } + resincludedirs { + MAME_DIR .. "scripts/resources/windows/" .. _target, + GEN_DIR .. "resource", + } + if (STANDALONE==true) then standalone(); @@ -219,71 +222,96 @@ end if (STANDALONE~=true) then if _OPTIONS["targetos"]=="macosx" and (not override_resources) then + local plistname = _target .. "_" .. _subtarget .. "-Info.plist" linkoptions { - "-sectcreate __TEXT __info_plist " .. _MAKE.esc(GEN_DIR) .. "resource/" .. _subtarget .. "-Info.plist" + "-sectcreate __TEXT __info_plist " .. _MAKE.esc(GEN_DIR) .. "resource/" .. plistname } custombuildtask { - { GEN_DIR .. "version.cpp" , GEN_DIR .. "resource/" .. _subtarget .. "-Info.plist", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. _subtarget .. "-Info.plist" .. "...", PYTHON .. " $(1) -p -b " .. _subtarget .. " $(<) > $(@)" }}, + { + GEN_DIR .. "version.cpp", + GEN_DIR .. "resource/" .. plistname, + { MAME_DIR .. "scripts/build/verinfo.py" }, + { + "@echo Emitting " .. plistname .. "...", + PYTHON .. " $(1) -f plist -t " .. _target .. " -s " .. _subtarget .. " -e " .. exename .. " -o $(@) $(<)" + } + }, } dependency { - { "$(TARGET)" , GEN_DIR .. "resource/" .. _subtarget .. "-Info.plist", true }, + { "$(TARGET)" , GEN_DIR .. "resource/" .. plistname, true }, } end - local rctarget = _subtarget + local rcversfile = GEN_DIR .. "resource/" .. _target .. "_" .. _subtarget .. "_vers.rc" if _OPTIONS["targetos"]=="windows" and (not override_resources) then - rcfile = MAME_DIR .. "scripts/resources/windows/" .. _subtarget .. "/" .. rctarget ..".rc" - if os.isfile(rcfile) then - files { - rcfile, - } - dependency { - { "$(OBJDIR)/".._subtarget ..".res" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", true }, - } - else - rctarget = "mame" - files { - MAME_DIR .. "scripts/resources/windows/mame/mame.rc", - } - dependency { - { "$(OBJDIR)/mame.res" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", true }, - } - end + files { + rcversfile + } + end + + local rcincfile = MAME_DIR .. "scripts/resources/windows/" .. _target .. "/" .. _subtarget ..".rc" + if not os.isfile(rcincfile) then + rcincfile = MAME_DIR .. "scripts/resources/windows/mame/mame.rc" + resincludedirs { + MAME_DIR .. "scripts/resources/windows/mame", + } end - local mainfile = MAME_DIR .. "src/".._target .."/" .. _subtarget ..".cpp" + local mainfile = MAME_DIR .. "src/" .. _target .. "/" .. _subtarget .. ".cpp" if not os.isfile(mainfile) then - mainfile = MAME_DIR .. "src/".._target .."/" .. _target ..".cpp" + mainfile = MAME_DIR .. "src/" .. _target .. "/" .. _target .. ".cpp" end files { mainfile, GEN_DIR .. "version.cpp", - GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", + GEN_DIR .. _target .. "/" .. _subtarget .. "/drivlist.cpp", } if (_OPTIONS["SOURCES"] == nil) then - if os.isfile(MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt") then + if os.isfile(MAME_DIR .. "src/" .. _target .."/" .. _subtarget ..".flt") then dependency { - { - GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + { GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, } custombuildtask { - { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" }}, + { + MAME_DIR .. "src/" .. _target .. "/" .. _subtarget .. ".flt", + GEN_DIR .. _target .. "/" .. _subtarget .. "/drivlist.cpp", + { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/" .. _target .."/" .. _target .. ".lst" }, + { + "@echo Building driver list...", + PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" + } + }, } else - if os.isfile(MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst") then + if os.isfile(MAME_DIR .. "src/" .._target .. "/" .. _subtarget ..".lst") then custombuildtask { - { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(<) > $(@)" }}, + { + MAME_DIR .. "src/" .. _target .. "/" .. _subtarget .. ".lst", + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", + { MAME_DIR .. "scripts/build/makedep.py" }, + { + "@echo Building driver list...", + PYTHON .. " $(1) driverlist $(<) > $(@)" + } + }, } else dependency { - { - GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + { GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, } custombuildtask { - { MAME_DIR .. "src/".._target .."/" .. _target ..".lst" , GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(<) > $(@)" }}, + { + MAME_DIR .. "src/" .. _target .. "/" .. _target .. ".lst", + GEN_DIR .. _target .. "/" .. _target .. "/drivlist.cpp", + { MAME_DIR .. "scripts/build/makedep.py" }, + { + "@echo Building driver list...", + PYTHON .. " $(1) driverlist $(<) > $(@)" + } + }, } end end @@ -292,7 +320,7 @@ if (STANDALONE~=true) then if (_OPTIONS["SOURCES"] ~= nil) then dependency { { - GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, } custombuildtask { { GEN_DIR .. _target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" }}, @@ -300,15 +328,29 @@ if (STANDALONE~=true) then end configuration { "mingw*" } + dependency { + { "$(OBJDIR)/" .. _target .. "_" .. _subtarget .. "_vers.res", rcincfile, true }, + } custombuildtask { - { GEN_DIR .. "version.cpp" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. rctarget .. "vers.rc" .. "...", PYTHON .. " $(1) -r -b " .. rctarget .. " $(<) > $(@)" }}, + { + GEN_DIR .. "version.cpp" , + rcversfile, + { MAME_DIR .. "scripts/build/verinfo.py" }, + { + "@echo Emitting " .. _target .. "_" .. _subtarget .. "_vers.rc" .. "...", + PYTHON .. " $(1) -f rc -t " .. _target .. " -s " .. _subtarget .. " -e " .. exename .. " -r " .. rcincfile .. " -o $(@) $(<)" + } + }, } configuration { "vs20*" } + dependency { + { "$(OBJDIR)/" .. _target .. "_" .. _subtarget .. "_vers.res", rcincfile, true }, + } prebuildcommands { - "mkdir \"" .. path.translate(GEN_DIR .. "resource/","\\") .. "\" 2>NUL", - "@echo Emitting ".. rctarget .. "vers.rc...", - PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py","\\") .. "\" -r -b " .. rctarget .. " \"" .. path.translate(GEN_DIR .. "version.cpp","\\") .. "\" > \"" .. path.translate(GEN_DIR .. "resource/" .. rctarget .. "vers.rc", "\\") .. "\"" , + "mkdir \"" .. path.translate(GEN_DIR .. _target .. "/" .. _subtarget .. "/", "\\") .. "\" 2>NUL", + "@echo Emitting " .. _target .. "_" .. _subtarget .. "_vers.rc" .. "...", + PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py", "\\") .. "\" -f rc -t " .. _target .. " -s " .. _subtarget .. " -e " .. exename .. " -o \"" .. path.translate(rcversfile) .. "\" -r \"" .. path.translate(rcincfile, "\\") .. "\" \"" .. path.translate(GEN_DIR .. "version.cpp", "\\") .. "\"", } end |