summaryrefslogtreecommitdiff
path: root/docs/building.md
blob: 60282fa6f95103bff7a519ae9b0bb97843b0b092 (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
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.