diff options
Diffstat (limited to 'xmake/scripts/platform/platform.lua')
| -rw-r--r-- | xmake/scripts/platform/platform.lua | 27 |
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 |
