[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: [ANN] mk-configure -- general purpose build system with support for Lua
- From: Aleksey Cheusov <cheusov@...>
- Date: Mon, 18 Oct 2010 15:52:38 +0300
Hi there. I'd like to announce my own general purpose build system. It
is not Lua centric but has support for Lua language, i.e. it supports
building Lua extensions written in C, C++ and Lua as well as handling
standalone scripts, man and info pages, documentation files etc.
I believe it is as powerful as GNU autotools, CMake and scons but much
smaller and simplier to learn and use.
Quick samples are below.
The following Makefile is for a project consisting of single Lua module
written in Lua.
This is a real Makefile for real project (lua-alt-getopt)
hosted at luaforge.net (last released version doesn't use mk-c).
Below is a sample for Makefile for a bit more complex project consisting
of foo.lua, bar.lua and baz.c Lua/C modules as well foobarbaz Lua script
using foo, bar and baz modules.
SCRIPTS= foobarbaz # scripts written in Lua
LUA_LMODULES= foo bar # modules written in Lua
LUA_CMODULE= baz # Lua module written in C
That's it. Three entities -- three line in Makefile.
Everything else is made automatically.
Online presentation is available (slides about Lua are there too):
README and NEWS is also available:
As I'm UNIX guy, mk-configure is mostly UNIX-centric. All variants of
BSD systems, Solaris, Linux and Darwin/MacOS-X are well supported. Many
other UNIXes are supported too. Compilers: you need not now know
different linker's and compiler's options for building loadable
libraries or for generating position independant code. MK-CONFIGURE
hides all this magic. Supported compilers are: gcc, icc (Intel C/C++),
Portable C compiler (pcc), SUN Studio and many others.
My knowledge about Windows is minimal but under Windows mk-configure can
run on Interix and Cygwin in cross-build mode for generating Windows
If anybody is interested, questions, suggestions and any feedback is welcome.
Best regards, Aleksey Cheusov.