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.
- Use your package manager (apt-get, emerge or whatever is used on your distribution) to install the following (you will need the header files):
- gcc
- g++
- python
- alsa (asound)
- gl
- glu
- x11
- libsdl2
- 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=debugwill build the debug version- Available targets for release and debug:
game(default)serverclientcontentmasterservertools
- To build the tools and master server in release mode use the following arguments:
conf=release tools masterserver
- Flag
-fwill force a recompile - You may specify the architecture using
arch, e.g.arch=x86orarch=x86_64.
- 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_releaseserver_debugclient_releaseclient_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.