summaryrefslogtreecommitdiff
path: root/xmake/scripts/platform/platform.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2015-06-03 13:47:32 +0800
committerruki <[email protected]>2015-06-03 13:47:32 +0800
commit6ba8d0eb8d09d5170242837ef091c04ab4da6047 (patch)
tree33ad58bbaccaec6d0b3a0035fd92602070454ba2 /xmake/scripts/platform/platform.lua
parent8f5a561006bb5b0952278075deb908633317c987 (diff)
add string split
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