aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: c71a2ef47b75484f21267a1e5c214ff7cf7d9266 (plain) (blame)
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
# $Id: Makefile 3605 2018-04-13 18:15:09Z jkoshy $

TOP=	.

.include "${TOP}/mk/elftoolchain.components.mk"
.include "${TOP}/mk/elftoolchain.os.mk"

# Build configuration information first.
SUBDIR += common

# Build the base libraries next.
SUBDIR += libelf
SUBDIR += libdwarf

# Build additional APIs.
SUBDIR += libelftc
.if defined(WITH_PE) && ${WITH_PE} == "yes"
SUBDIR += libpe
.endif

# The instruction set analyser.
.if defined(WITH_ISA) && ${WITH_ISA} == "yes"
SUBDIR += isa  # ('isa' does not build on all platforms yet).
.endif

# Build tools after the libraries.
SUBDIR += addr2line
SUBDIR += ar
SUBDIR += brandelf
SUBDIR += cxxfilt
SUBDIR += elfcopy
SUBDIR += elfdump
SUBDIR += findtextrel
SUBDIR += ld
SUBDIR += nm
SUBDIR += readelf
SUBDIR += size
SUBDIR += strings
SUBDIR += tools

# Build the test suites.
.if exists(${.CURDIR}/test) && defined(WITH_TESTS) && ${WITH_TESTS} == "yes"
SUBDIR += test
.endif

# Build additional build tooling.
.if defined(WITH_BUILD_TOOLS) && ${WITH_BUILD_TOOLS} == "yes"
SUBDIR += tools
.endif

# Build documentation at the end.
.if exists(${.CURDIR}/documentation) && \
    defined(WITH_ADDITIONAL_DOCUMENTATION) && \
    ${WITH_ADDITIONAL_DOCUMENTATION} == "yes"
SUBDIR += documentation
.endif

.include "${TOP}/mk/elftoolchain.subdir.mk"

#
# Special top-level targets.
#

# Run the test suites.
.if exists(${.CURDIR}/test) && defined(WITH_TESTS) && ${WITH_TESTS} == "yes"
run-tests:	all .PHONY
	(cd ${.CURDIR}/test; ${MAKE} test)
.endif