summaryrefslogtreecommitdiffstatshomepage
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/verinfo.py256
-rw-r--r--scripts/resources/windows/mame/mame.rc3
-rw-r--r--scripts/resources/windows/mess/mess.icobin372526 -> 0 bytes
-rw-r--r--scripts/resources/windows/mess/mess.man16
-rw-r--r--scripts/resources/windows/mess/mess.rc14
-rw-r--r--scripts/src/main.lua138
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
deleted file mode 100644
index bab67dd6195..00000000000
--- a/scripts/resources/windows/mess/mess.ico
+++ /dev/null
Binary files differ
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