More READMEs
[centaur.git] / docs / building.md
1 Build instructions
2 ==================
3
4 To build the CLI front-end, the static library and the shared library,
5 change to the top-level directory and run
6
7     make
8
9 This will create a build/ directory containing the intermediary and
10 output files.
11
12
13 Dependencies and pkg-config
14 ---------------------------
15
16 There is currently one hard dependency, libelf.
17
18 The Makefile uses pkg-config to try and autodetect the necessary
19 compiler and linker flags. Failing this, it defaults to "-lelf" to
20 link against libelf, and no additional include directories.
21
22 On Ubuntu, development files can be installed using
23     apt-get install libelfg0-dev
24 for tired's libelf (preferred), or
25     apt-get install libelf-dev
26 for Red Hat's libelf.
27
28
29 Documentation
30 -------------
31
32 Additional documentation can be generated from the source files using
33 Doxygen. If it is available on your machine, issue
34
35     make docs
36
37 to build it in docs/.
38
39
40 Cleanup
41 -------
42
43 The usual
44     make clean
45 and
46     make distclean
47 are supported to clean binary files (clean), or all backup and
48 generated files (distclean).
49
50
51 Installation
52 ------------
53
54 There is currently no automated installation.
55
56 If you need system-wide availability, you can copy
57     include/libelfu --> /usr/local/include/
58     build/elfucli --> /usr/local/bin/
59     build/libelfu.{a,so*} --> /usr/local/lib/
60 or your local variation thereof.