oy / bam

Bam is a fast and flexible build system. Bam uses Lua to describe the build process. It's takes its inspiration for the script files from scons. While scons focuses on being 100% correct when building, bam makes a few sacrifices to acquire fast full and incremental build times.

Home Page:http://matricks.github.com/bam

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bam

Bam is a build system with the focus on being having fast build times and flexiable build scripts. Instead of having a custom language it uses Lua to describe the build steps. It's written in clean C and is distrubuted under the liberal zlib licence. Available on many platforms including but not limited to Linux, Mac OS X and Windows.

Build Status

Build Status Build status

Quick Taste

This section is a short introduction to bam and is designed to get you started quickly.

1: settings = NewSettings()
2: settings.cc.defines:Add("MYDEFINE")
3: source = Collect("src/*.c")
5: objects = Compile(settings, source)
4: exe = Link(settings, "my_app", objects)

Line 1 creates a new settings object. This contains all the settings on how to compile, link etc.

Line 2 sets a define to be used during compliation.

Line 3 gathers all the files under the src/ directory which has .c as extention. Collect returns a table of strings which are the files.

Line 4 compiles the source using the specified settings and returns a table of the object files.

Line 5 links the object files to an executable named "my_app", using the specified settings.

Getting it

bam is distributed as source only and downloads can be found at https://github.com/matricks/bam/releases

About

Bam is a fast and flexible build system. Bam uses Lua to describe the build process. It's takes its inspiration for the script files from scons. While scons focuses on being 100% correct when building, bam makes a few sacrifices to acquire fast full and incremental build times.

http://matricks.github.com/bam

License:Other


Languages

Language:C 89.5%Language:Lua 4.9%Language:Python 2.7%Language:C++ 2.0%Language:Batchfile 0.5%Language:Shell 0.2%Language:Makefile 0.1%