summaryrefslogtreecommitdiffstatshomepage
path: root/scripts
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-05-08 19:07:18 +0200
committer Miodrag Milanovic <mmicko@gmail.com>2016-05-08 19:07:18 +0200
commit175084897e9f346a7652ce19383d521fbb12e9e8 (patch)
tree3b8ca92904db8bf75d558eb3a1fa4820483f88ac /scripts
parent66065038257b754a79387361cb981fa5ae90efc4 (diff)
Added ability to create standalone emulators, added zexall as example (nw)
Diffstat (limited to 'scripts')
-rw-r--r--scripts/genie.lua11
-rw-r--r--scripts/src/main.lua65
-rw-r--r--scripts/target/zexall/zexall.lua12
3 files changed, 59 insertions, 29 deletions
diff --git a/scripts/genie.lua b/scripts/genie.lua
index 3281ca7813b..95e246aee0c 100644
--- a/scripts/genie.lua
+++ b/scripts/genie.lua
@@ -1,5 +1,6 @@
-- license:BSD-3-Clause
-- copyright-holders:MAMEdev Team
+STANDALONE = false
newoption {
trigger = 'build-dir',
@@ -1317,14 +1318,18 @@ group "core"
dofile(path.join("src", "emu.lua"))
-dofile(path.join("src", "mame", "frontend.lua"))
+if (STANDALONE~=true) then
+ dofile(path.join("src", "mame", "frontend.lua"))
+end
group "devices"
dofile(path.join("src", "devices.lua"))
devicesProject(_OPTIONS["target"],_OPTIONS["subtarget"])
-group "drivers"
-findfunction("createProjects_" .. _OPTIONS["target"] .. "_" .. _OPTIONS["subtarget"])(_OPTIONS["target"], _OPTIONS["subtarget"])
+if (STANDALONE~=true) then
+ group "drivers"
+ findfunction("createProjects_" .. _OPTIONS["target"] .. "_" .. _OPTIONS["subtarget"])(_OPTIONS["target"], _OPTIONS["subtarget"])
+end
group "emulator"
dofile(path.join("src", "main.lua"))
diff --git a/scripts/src/main.lua b/scripts/src/main.lua
index 96b4886ae7d..c10b12b7dee 100644
--- a/scripts/src/main.lua
+++ b/scripts/src/main.lua
@@ -182,15 +182,21 @@ end
end
end
+if (STANDALONE~=true) then
findfunction("linkProjects_" .. _OPTIONS["target"] .. "_" .. _OPTIONS["subtarget"])(_OPTIONS["target"], _OPTIONS["subtarget"])
+end
links {
"osd_" .. _OPTIONS["osd"],
}
links {
"qtdbg_" .. _OPTIONS["osd"],
}
+if (STANDALONE~=true) then
links {
"frontend",
+ }
+end
+ links {
"netlist",
"optional",
"emu",
@@ -251,6 +257,12 @@ end
ext_includedir("flac"),
}
+
+if (STANDALONE==true) then
+ standalone();
+end
+
+if (STANDALONE~=true) then
if _OPTIONS["targetos"]=="macosx" and (not override_resources) then
linkoptions {
"-sectcreate __TEXT __info_plist " .. _MAKE.esc(GEN_DIR) .. "resource/" .. _subtarget .. "-Info.plist"
@@ -295,42 +307,42 @@ end
GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp",
}
-if (_OPTIONS["SOURCES"] == nil) then
+ if (_OPTIONS["SOURCES"] == nil) 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 },
- }
- custombuildtask {
- { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makelist.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) $(2) $(<) > $(@)" }},
- }
- else
- if os.isfile(MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst") 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 },
+ }
custombuildtask {
- { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makelist.py" }, {"@echo Building driver list...", PYTHON .. " $(1) $(<) > $(@)" }},
+ { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makelist.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) $(2) $(<) > $(@)" }},
}
else
+ 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/makelist.py" }, {"@echo Building driver list...", PYTHON .. " $(1) $(<) > $(@)" }},
+ }
+ else
+ dependency {
+ {
+ 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/makelist.py" }, {"@echo Building driver list...", PYTHON .. " $(1) $(<) > $(@)" }},
+ }
+ end
+ end
+ end
+
+ if (_OPTIONS["SOURCES"] ~= nil) then
dependency {
{
- GEN_DIR .. _target .. "/" .. _target .."/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 .."/" .. _target ..".lst" , GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makelist.py" }, {"@echo Building driver list...", PYTHON .. " $(1) $(<) > $(@)" }},
+ { GEN_DIR .. _target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makelist.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) $(2) $(<) > $(@)" }},
}
- end
end
-end
-
-if (_OPTIONS["SOURCES"] ~= nil) then
- dependency {
- {
- 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/makelist.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) $(2) $(<) > $(@)" }},
- }
-end
configuration { "mingw*" }
custombuildtask {
@@ -343,6 +355,7 @@ end
"@echo Emitting ".. rctarget .. "vers.rc...",
PYTHON .. " " .. path.translate(MAME_DIR .. "scripts/build/verinfo.py","\\") .. " -r -b " .. rctarget .. " " .. path.translate(MAME_DIR .. "src/version.cpp","\\") .. " > " .. path.translate(GEN_DIR .. "resource/" .. rctarget .. "vers.rc", "\\") ,
}
+end
configuration { }
diff --git a/scripts/target/zexall/zexall.lua b/scripts/target/zexall/zexall.lua
new file mode 100644
index 00000000000..739cd2a225a
--- /dev/null
+++ b/scripts/target/zexall/zexall.lua
@@ -0,0 +1,12 @@
+STANDALONE = true
+
+CPUS["Z80"] = true
+
+function standalone()
+ files{
+ MAME_DIR .. "src/zexall/main.cpp",
+ MAME_DIR .. "src/zexall/zexall.cpp",
+ MAME_DIR .. "src/zexall/zexall.h",
+ }
+end
+