[ANN] mk-configure -- general purpose build system with support for Lua

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[ANN] mk-configure -- general purpose build system with support for Lua

Aleksey Cheusov
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 <mkc.files.mk>

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

   .include <mkc.lib.mk>

That's it. Three entities -- three line in Makefile.
Everything else is made automatically.

Online presentation is available (slides about Lua are there too):

   http://mova.org/~cheusov/pub/mk-configure/mkc-presentation.pdf

README and NEWS is also available:

   http://mova.org/~cheusov/pub/mk-configure/README.txt
   http://mova.org/~cheusov/pub/mk-configure/NEWS.txt

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
binaries.

Project home:
   http://sourceforge.net/projects/mk-configure/
   http://freshmeat.net/projects/mk-configure/

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

--
Best regards, Aleksey Cheusov.