Skip to content

Commit

Permalink
Create README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Magnus Auvinen authored Jun 17, 2016
1 parent 2e65531 commit 9de512b
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions README.md
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

0 comments on commit 9de512b

Please sign in to comment.