The Wayback Machine - http://web.archive.org/web/20201030021455/https://github.com/matricks/bam
Skip to content

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.

master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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.

Resources

License

Packages

No packages published
You can’t perform that action at this time.