jsnyder / Lake

A Lua-based Build Tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lake - a Lua-based Build Tool

lake is the grown-up version of Bou. It resembles Ruby's rake in that it directly executes dependency rules and does not generate a makefile. Unlike rake, it knows about the two most popular compilers currently, GCC and Microsoft's CL aims to simplify cross-platform development.

There is one file, lake.lua, which only depends on LuaFileSystem - the suggested practice is to make a suitable script or batch file to run it from the console. That is, either this for Unix

# lake
lua /path/to/lake.lua $*

or this

rem lake.bat
lua \path\to\lake.lua %*

Here is a lakefile for building Lua itself:

LUA='lua'
LUAC='luac print'
as_dll = WINDOWS
if as_dll then
  defs = 'LUA_BUILD_AS_DLL'
end
if not WINDOWS then
  defs = 'LUA_USE_LINUX'
end

-- build the static library
lib,ll=c.library{'lua',src='*',exclude={LUA,LUAC},defines=defs}

-- build the shared library
if as_dll then
  libl = c.shared{'lua',rules=ll,dynamic=true}
else
  libl = lib
end

-- build the executables
lua = c.program{'lua',libl,src=LUA,needs='dl math readline',export=not as_dll}
luac = c.program{'luac',lib,src=LUAC,needs='math'}

default {lua,luac}

More details can be found in doc/index.md

Released under the MIT/X11 licence, Steve Donovan, 2010

About

A Lua-based Build Tool


Languages

Language:Lua 83.7%Language:C 15.6%Language:C++ 0.7%