IMPORTANT NOTE: SDL and Freetype libs are not shipped with Teeworlds 0.7.x. You must download them separately.
Q: What is bam?
Bam is the build system made by matricks used in Teeworlds.
- Install Xcode from the Appstore or install Xcode Command Line Tools
xcode-select --install
. - Install libsdl using brew
brew install sdl2
- Install Freetype using brew
brew install freetype
- Download and unzip Teeworlds source or Teeworlds latest source
- Download and unzip bam to
teeworlds-version/bam
- Compiling bam
$ cd bam
$ ./make_unix.sh
$ cd ..
cd teeworlds-version
- Changes to the teeworlds source directory
./bam/bam config
- Runs bam configuration
./bam/bam conf=release
- Compiles teeworlds (Client and Server)
conf=debug
will build the debug version- Available targets for release and debug:
game
(default)server
client
content
masterserver
tools
- To build the tools and master server in release mode use the following arguments:
conf=release tools masterserver
- Flag
-f
will force a recompile
- The compiled game is located at
teeworlds-version/build/<arch>
cd teeworlds-version
- Changes to the teeworlds source directory
./bam/bam release
- Compiles teeworlds (Client and Server)
- Available targets for release and debug:
release
(for all in release mode)debug
(for all in debug mode)server_release
server_debug
client_release
client_debug
- The compiled game is located in
teeworlds-version
Note: Teeworlds 0.5.2 and earlier requires python 2.x to compile. Python 3.x will not work. Python 3.x support is introduced with Teeworlds 0.6.0.
Note: If you are using bam 0.2.0 (needed for Teeworlds 0.5.2 and earlier) the bam binary will not be in the bam directory, but in bam/src. You will need to change the paths accordingly to that or copy/move the bam executable to the bam directory.