lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

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.

   VERSION=                0.7.0
   PROJECTNAME=            lua-alt-getopt

   LUA_LMODULES=           alt_getopt.lua

   .include <>

This is a real Makefile for real project (lua-alt-getopt)
hosted at (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

   .include <>

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

Project home:

If anybody is interested, questions, suggestions and any feedback is welcome.

Best regards, Aleksey Cheusov.