Mercurial > molko
annotate INSTALL.md @ 308:8523fb0c8540
make: add run target
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 09 Jul 2021 11:29:36 +0200 |
parents | 363024b76da7 |
children | 3bfaaf5342a9 |
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. |
308 | 35 - `run`: run molko with data installed in the source tree. |
305
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 |
308 | 48 The directory `out` is recommended, see below. |
305
3675021fa6e5
make: add fakeroot support
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
49 |
308 | 50 $ make DESTDIR=out install-data |
51 $ MLK_ROOT=out ./mlk-adventure/mlk-adventure | |
52 (or to run examples:) | |
53 $ MLK_ROOT=out ./examples/example-action/main | |
305
3675021fa6e5
make: add fakeroot support
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
54 |
308 | 55 There is a special target `run` that automatically create the diretory `out` |
56 with all data and binaries installed and runs `mlk-adventure`. | |
90
a6d6497adb60
make: cleanup a bit and add appropriate dependencies
David Demelier <markand@malikania.fr>
parents:
89
diff
changeset
|
57 |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 Platform: Windows |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 ----------------- |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 On Windows, only [MSYS2][] is supported. |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 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
|
64 provided as it is not opensource and not standard compliant. |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 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
|
67 appropriate MinGW shell prior to the chapter above. |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 - *make* |
89
30baadb6f6a2
core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents:
84
diff
changeset
|
70 - *mingw-w64-x86_64-pkg-config* |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 - *mingw-w64-x86_64-gcc* |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 - *mingw-w64-x86_64-SDL2* |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 - *mingw-w64-x86_64-SDL2_image* |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 - *mingw-w64-x86_64-SDL2_mixer* |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 - *mingw-w64-x86_64-SDL2_ttf* |
305
3675021fa6e5
make: add fakeroot support
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
76 - *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
|
77 |
89
30baadb6f6a2
core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents:
84
diff
changeset
|
78 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
|
79 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
|
80 this area). |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 |
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
|
82 [Jansson][]: http://www.digip.org/jansson |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 [SDL2]: http://libsdl.org |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 [SDL2_image]: https://www.libsdl.org/projects/SDL_image |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 [SDL2_ttf]: https://www.libsdl.org/projects/SDL_ttf |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 [SDL2_mixer]: https://www.libsdl.org/projects/SDL_mixer |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 [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
|
88 [pkg-config]: http://pkgconf.org |