Mercurial > molko
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 |
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 |