summaryrefslogtreecommitdiff
path: root/docs/building.md
blob: 3f4c9e25539f163cdf543b1e0b802af2dd7b390d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Build instructions
==================

To build the CLI front-end, the static library and the shared library,
change to the top-level directory and run

    make

This will create a build/ directory containing the intermediary and
output files.


Dependencies and pkg-config
---------------------------

There is currently one hard dependency, libelf.

The Makefile uses pkg-config to try and autodetect the necessary
compiler and linker flags. Failing this, it defaults to "-lelf" to
link against libelf, and no additional include directories.

On Ubuntu, development files can be installed using

    apt-get install libelfg0-dev

for tired's libelf (preferred), or

    apt-get install libelf-dev

for Red Hat's libelf.


Documentation
-------------

Additional documentation can be generated from the source files using
Doxygen. If it is available on your machine, issue

    make docs

to build it in docs/.


Cleanup
-------

The usual

    make clean

and

    make distclean

are supported to clean binary files (clean), or all backup and
generated files (distclean).


Installation
------------

There is currently no automated installation.

If you need system-wide availability, you can copy

    include/libelfu       --> /usr/local/include/
    build/elfucli         --> /usr/local/bin/
    build/libelfu.{a,so*} --> /usr/local/lib/

or your local variation thereof.