]> git.localhorst.tv Git - blank.git/blob - doc/building
43b5cb94ef563b254bb504313e6b959aeacfee75
[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 centos (7): yum install glew-devel glm-devel SDL2-devel SDL2_image-devel SDL2_net-devel SDL2_ttf-devel openal-soft-devel freealut-devel zlib-devel cppunit-devel
15         (!) you need the "epel" repository for SDL2 et al. `yum install epel-release`
16
17 manual:
18         CppUnit http://sourceforge.net/projects/cppunit/
19         GLEW    http://glew.sourceforge.net/
20         GLM     http://glm.g-truc.net/0.9.6/index.html
21         OpenAL  http://openal.org/
22         SDL     http://www.libsdl.org/
23         zlib    http://zlib.net/
24
25
26 Makefile
27 ========
28
29 Targets
30 -------
31
32 all:
33         build everything
34
35 release (default), debug, profile:
36         build executables tuned for running, debugging, and profiling
37
38 run:
39         build and execute the main binary with state path set to ./saves
40
41 server:
42         same as run, only in server mode
43
44 server:
45         same as run, only in client mode and the save path is set to
46         ./client-saved to prevent clashes with a running `make server`
47
48 test:
49         build and run unittests
50
51 gdb, cachegrind, callgrind:
52         build the binary suited for given tool and launch
53
54 clean:
55         remove intermediates
56
57 distclean:
58         remove intermediates and artifacts
59         (also those generated by tool invocations!)
60
61
62 Variables
63 ---------
64
65 CXX, LXX:
66         compiler/linker used for C++ sources/objects
67
68 LIBS:
69         names of libraries (for pkg-config)
70
71 CPPFLAGS, CXXFLAGS, LDXXFLAGS:
72         flags for the preprocessor, compiler, and linker
73
74 DEBUG_FLAGS, PROFILE_FLAGS, RELEASE_FLAGS:
75         flags for building binaries in debug, profile, and release mode