]> git.xonotic.org Git - xonotic/xonotic.wiki.git/blob - Compiling.md
Update title
[xonotic/xonotic.wiki.git] / Compiling.md
1 This page is about compiling the sources included in [stable](https://xonotic.org/download) and [beta](https://beta.xonotic.org/autobuild) releases, and is also applicable when updating by rsync.  
2 For development purposes (git builds), please see [Repository_Access](Repository_Access).
3
4 The release Makefile aims to provide a convenient way to compile for alternative CPU architectures, or to get a build fully optimised for a recent x86 CPU (the official binaries are generic x86_64).  It would also allow you to run Xonotic on an OS too old to be supported by official binaries.
5
6 To this end the Makefile defaults to enabling all optimisations that can be used on your current CPU without causing bugs, and to using all available CPU threads.
7
8 The builds will be dynamically linked except for d0_blind_id which is statically linked to ensure reliable player ID support and because OS distributions don't ship this.
9
10 Invoking `make` or `make help` will print the supported targets and current config.  
11 **TL;DR: Most people will want `make update-beta && make client`**  
12
13 ## System package dependencies
14 ### Debian
15 Build: `build-essential automake libgmp-dev libjpeg-dev libpng-dev libsdl2-dev`  
16 Runtime: `libfreetype6 curl rsync`  
17 *Note: Debian's `libjpeg-dev` metapackage pulls in `libjpeg62-turbo-dev`*