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
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.
308
8523fb0c8540 make: add run target
David Demelier <markand@malikania.fr>
parents: 307
diff changeset
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
8523fb0c8540 make: add run target
David Demelier <markand@malikania.fr>
parents: 307
diff changeset
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
8523fb0c8540 make: add run target
David Demelier <markand@malikania.fr>
parents: 307
diff changeset
50 $ make DESTDIR=out install-data
8523fb0c8540 make: add run target
David Demelier <markand@malikania.fr>
parents: 307
diff changeset
51 $ MLK_ROOT=out ./mlk-adventure/mlk-adventure
8523fb0c8540 make: add run target
David Demelier <markand@malikania.fr>
parents: 307
diff changeset
52 (or to run examples:)
8523fb0c8540 make: add run target
David Demelier <markand@malikania.fr>
parents: 307
diff changeset
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
8523fb0c8540 make: add run target
David Demelier <markand@malikania.fr>
parents: 307
diff changeset
55 There is a special target `run` that automatically create the diretory `out`
8523fb0c8540 make: add run target
David Demelier <markand@malikania.fr>
parents: 307
diff changeset
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