annotate INSTALL.md @ 307:363024b76da7

make: create install-data rather than fakeroot
author David Demelier <markand@malikania.fr>
date Tue, 29 Jun 2021 09:49:48 +0200
parents 3675021fa6e5
children 8523fb0c8540
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 Molko's Adventure INSTALL
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 =========================
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
3
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 Installation instructions.
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
5
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 Requirements
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 ------------
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
8
84
a6c2067709ce core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents: 25
diff changeset
9 - C11 compliant compiler,
89
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
10 - POSIX system (make, ar, shell),
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
11 - [pkg-config][], Helper for libraries.
25
0d5ecefcccd3 molko-map: reimplement using JSON as it is supported by tiled, closes #2448 @4h
David Demelier <markand@malikania.fr>
parents: 17
diff changeset
12 - [Jansson][], JSON parsing library,
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 - [SDL2][], Multimedia library,
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 - [SDL2_image][], Image loading addon for SDL2,
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 - [SDL2_ttf][], Fonts addon for SDL2,
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 - [SDL2_mixer][], Audio addon for SDL2.
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 Basic installation
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 ------------------
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 Quick install.
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 $ tar xvzf molko-x.y.z-tar.xz
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 $ cd molko-x.y.z
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 $ make
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 # sudo make install
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 $ molko
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
90
a6d6497adb60 make: cleanup a bit and add appropriate dependencies
David Demelier <markand@malikania.fr>
parents: 89
diff changeset
29 Available general make targets:
a6d6497adb60 make: cleanup a bit and add appropriate dependencies
David Demelier <markand@malikania.fr>
parents: 89
diff changeset
30
305
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
31 - `all`: (default): build only molko.
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
32 - `tools`: build tools (e.g. molko-map).
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
33 - `tests`: build tests and run them.
90
a6d6497adb60 make: cleanup a bit and add appropriate dependencies
David Demelier <markand@malikania.fr>
parents: 89
diff changeset
34 - `everything`: build molko, tools and tests without running them.
305
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
35 - `fakeroot`: create a runnable local directory.
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
36
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
37 Direct use in source tree
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
38 -------------------------
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
39
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
40 Examples and `mlk-adventure` executable searches for data into a specific
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
41 directory, when building those are not already discoverable because targets are
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
42 not already installed.
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
43
307
363024b76da7 make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents: 305
diff changeset
44 You need to install at least the data once using `install-data` target, you can
363024b76da7 make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents: 305
diff changeset
45 do this without root access by using a temporary directory and set the
363024b76da7 make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents: 305
diff changeset
46 `MLK_ROOT` environment variable.
363024b76da7 make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents: 305
diff changeset
47
363024b76da7 make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents: 305
diff changeset
48 $ make DESTDIR=datadir install
363024b76da7 make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents: 305
diff changeset
49 $ MLK_ROOT=datadir ./mlk-adventure/mlk-adventure
363024b76da7 make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents: 305
diff changeset
50 (or to run examples)
363024b76da7 make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents: 305
diff changeset
51 $ MLK_ROOT=datadir ./examples/
305
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
52
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
53 Note: you need rsync installed, in contrast to `install` with a `DESTDIR`
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
54 macro it only copies runtime data and avoid re-copying what didn't
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
55 change for a faster experience.
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
56
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
57 $ make all examples
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
58 $ ./fakeroot/bin/mlk-adventure
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
59 (or)
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
60 $ ./fakeroot/bin/example-action
90
a6d6497adb60 make: cleanup a bit and add appropriate dependencies
David Demelier <markand@malikania.fr>
parents: 89
diff changeset
61
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 Platform: Windows
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 -----------------
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
64
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 On Windows, only [MSYS2][] is supported.
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
66
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 The code may compile on Microsoft Visual Studio but no support for it is
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 provided as it is not opensource and not standard compliant.
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 Once you have MSYS2 installed, simply install the following packages from the
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 appropriate MinGW shell prior to the chapter above.
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 - *make*
89
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
74 - *mingw-w64-x86_64-pkg-config*
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 - *mingw-w64-x86_64-gcc*
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 - *mingw-w64-x86_64-SDL2*
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 - *mingw-w64-x86_64-SDL2_image*
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 - *mingw-w64-x86_64-SDL2_mixer*
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 - *mingw-w64-x86_64-SDL2_ttf*
305
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
80 - *mingw-w64-x86_64-jansson* (only for mlk-map/mlk-tileset tools)
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
89
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
82 Note: replace `x86_64` with `i686` if you have a deprecated system or if you
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
83 have issues while debugging (MinGW-w64 and/or gdb have known issues in
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
84 this area).
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
25
0d5ecefcccd3 molko-map: reimplement using JSON as it is supported by tiled, closes #2448 @4h
David Demelier <markand@malikania.fr>
parents: 17
diff changeset
86 [Jansson][]: http://www.digip.org/jansson
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 [SDL2]: http://libsdl.org
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 [SDL2_image]: https://www.libsdl.org/projects/SDL_image
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 [SDL2_ttf]: https://www.libsdl.org/projects/SDL_ttf
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 [SDL2_mixer]: https://www.libsdl.org/projects/SDL_mixer
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 [MSYS2]: http://www.msys2.org
89
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
92 [pkg-config]: http://pkgconf.org