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
\teeworldsSource\bam
- Compiling bam
$ cd bam
$ ./make_unix.sh
$ cd ..
-
cd /teeworldsSource
- Changes to the teeworlds source directory
-
./bam/bam config
- Runs bam configuration
-
./bam/bam conf=release -f
- Compiles teeworlds (Client and Server)
- Flag
-f
will force a recompile - Available targets:
release
(for all in release mode)debug
(for all in debug mode)server_release
server_debug
client_release
client_debug
- To build the tools and master server in release mode use the following arguments:
conf=release tools masterserver
-
The compiled game is located at
/teeworldsSource/build/..
Available targets are:
- release (for all in release mode)
- debug (for all in debug mode)
- server_release
- server_debug
- client_release
- client_debug
E.g. to build server debug use the following arguments:
../bam/bam server_debug
Also: 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.
Also: 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.