-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Magnus Auvinen
authored
Jun 17, 2016
1 parent
2e65531
commit 9de512b
Showing
1 changed file
with
28 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# 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. | ||
|
||
# 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 |