]> git.localhorst.tv Git - blank.git/blob - doc/building
d16e284d94619072ec0a8c3e90ae010df834d80d
[blank.git] / doc / building
1 Dependencies
2 ============
3
4         GLEW, GLM, SDL2, SDL2_image, SDL2_net, SDL2_ttf, OpenAL, freealut, zlib
5
6         CppUnit for tests
7
8 archlinux: pacman -S glew glm sdl2 sdl2_image sdl2_net sdl2_ttf openal freealut zlib cppunit
9 debian: apt-get install libglew-dev libglm-dev libsdl2-dev libsdl2-image-dev libsdl2-net-dev libsdl2-ttf-dev libopenal-dev libalut-dev zlib1g-dev libcppunit-dev
10
11 debian (jessie): apt-get install libglew-dev libglm-dev libsdl2-dev libsdl2-image-dev libsdl2-net-dev libsdl2-ttf-dev libopenal-dev libalut-dev zlib1g-dev libcppunit-dev
12         (!) you may have to build the tests with CPPFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0
13
14 manual:
15         CppUnit http://sourceforge.net/projects/cppunit/
16         GLEW    http://glew.sourceforge.net/
17         GLM     http://glm.g-truc.net/0.9.6/index.html
18         OpenAL  http://openal.org/
19         SDL     http://www.libsdl.org/
20         zlib    http://zlib.net/
21
22
23 Makefile
24 ========
25
26 Targets
27 -------
28
29 all:
30         build everything
31
32 release (default), debug, profile:
33         build executables tuned for running, debugging, and profiling
34
35 run:
36         build and execute the main binary with state path set to ./saves
37
38 server:
39         same as run, only in server mode
40
41 server:
42         same as run, only in client mode and the save path is set to
43         ./client-saved to prevent clashes with a running `make server`
44
45 test:
46         build and run unittests
47
48 gdb, cachegrind, callgrind:
49         build the binary suited for given tool and launch
50
51 clean:
52         remove intermediates
53
54 distclean:
55         remove intermediates and artifacts
56         (also those generated by tool invocations!)
57
58
59 Variables
60 ---------
61
62 CXX, LXX:
63         compiler/linker used for C++ sources/objects
64
65 LIBS:
66         names of libraries (for pkg-config)
67
68 CPPFLAGS, CXXFLAGS, LDXXFLAGS:
69         flags for the preprocessor, compiler, and linker
70
71 DEBUG_FLAGS, PROFILE_FLAGS, RELEASE_FLAGS:
72         flags for building binaries in debug, profile, and release mode