summaryrefslogtreecommitdiff
path: root/xmake/scripts/platform/platform.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/scripts/platform/platform.lua')
-rw-r--r--xmake/scripts/platform/platform.lua27
1 files changed, 27 insertions, 0 deletions
diff --git a/xmake/scripts/platform/platform.lua b/xmake/scripts/platform/platform.lua
index 4361ea42a..e968137fd 100644
--- a/xmake/scripts/platform/platform.lua
+++ b/xmake/scripts/platform/platform.lua
@@ -289,5 +289,32 @@ function platform.probe(configs, is_global)
end
end
+-- build target from the given makefile
+function platform.build(mkfile, target)
+
+ -- attempt to done the platform special make first
+ local p = platform._load(config.get("plat"))
+ if p and p._MAKER and p._MAKER.done then
+ return p._MAKER.done(mkfile, target)
+ end
+
+ -- make command
+ local cmd = nil
+ if mkfile and os.isfile(mkfile) then
+ cmd = string.format("make -f %s %s", mkfile, target or "")
+ else
+ cmd = string.format("make %s", target or "")
+ end
+
+ -- done
+ local ok = os.execute(cmd)
+ if ok ~= 0 then
+ return false
+ end
+
+ -- ok
+ return true
+end
+
-- return module: platform
return platform