Skip to content
matricksPublic

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

Stars

155 stars

Watchers

12 watching

Forks

Latest commit

 

History

535 Commits

Folders and files

Repository files navigation

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

Stars

155 stars

Watchers

12 watching

Forks

Releases

Packages

Used by

Contributors

Languages