]> git.xonotic.org Git - xonotic/xonotic.wiki.git/blobdiff - Compiling.md
Upload attachment Md3_textures.png
[xonotic/xonotic.wiki.git] / Compiling.md
index 356ef8f2e9990b4332a9f527c85b40ac7951090e..6fe7b5bdd7e073c5496d0cdd8e0711835e7bbec4 100644 (file)
@@ -1,15 +1,17 @@
 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.  
-For development purposes, please see [Repository_Access](Repository_Access).
+For development purposes (git builds), please see [Repository_Access](Repository_Access).
 
-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).  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.
+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.
 
-The builds will be mostly dynamically linked, except for d0_blind_id which is statically linked to ensure reliable player ID support and because distributions don't ship this.
+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.
 
-Invoking `make` or `make help` will print the supported targets and config.  
+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.
 
-Most people reading this will want `make update-beta; make client`.  
+Invoking `make` or `make help` will print the supported targets and current config.  
+**TL;DR: Most people will want `make update-beta && make client`**  
 
-## Build Dependencies
+## System package dependencies
 ### Debian
-`build-essential automake libgmp-dev libjpeg-dev libpng-dev libcurl-dev libsdl2-dev`  
-*note that Debian's `libjpeg-dev` depends on `libjpeg62-turbo-dev`*
+Build: `build-essential automake libgmp-dev libjpeg-dev libpng-dev libsdl2-dev`  
+Runtime: `libfreetype6 curl rsync`  
+*Note: Debian's `libjpeg-dev` metapackage pulls in `libjpeg62-turbo-dev`*