xref: /freebsd/lib/libelftc/Makefile (revision e6bfd18d21b225af6a0ed67ceeaf1293b7b9eba5)
1# $FreeBSD$
2.include <bsd.own.mk>
3
4INTERNALLIB=
5
6ELFTCDIR=	${SRCTOP}/contrib/elftoolchain
7
8.PATH:	${ELFTCDIR}/libelftc
9
10LIB=	elftc
11
12SRCS=	elftc_bfdtarget.c                       \
13	elftc_copyfile.c                        \
14	elftc_demangle.c                        \
15	elftc_reloc_type_str.c			\
16	elftc_set_timestamps.c                  \
17	elftc_string_table.c                    \
18	elftc_timestamp.c			\
19	elftc_version.c                         \
20	libelftc_bfdtarget.c                    \
21	libelftc_dem_arm.c                      \
22	libelftc_dem_gnu2.c                     \
23	libelftc_dem_gnu3.c                     \
24	libelftc_hash.c                         \
25	libelftc_vstr.c
26
27INCS=	libelftc.h
28CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
29
30MAN+=	elftc.3 \
31	elftc_bfd_find_target.3 \
32	elftc_copyfile.3 \
33	elftc_demangle.3 \
34	elftc_reloc_type_str.3 \
35	elftc_set_timestamps.3 \
36	elftc_timestamp.3 \
37	elftc_string_table_create.3 \
38	elftc_version.3
39
40MLINKS+= \
41	elftc_bfd_find_target.3 elftc_bfd_target_class.3 \
42	elftc_bfd_find_target.3 elftc_bfd_target_byteorder.3 \
43	elftc_bfd_find_target.3 elftc_bfd_target_flavor.3 \
44	elftc_bfd_find_target.3 elftc_bfd_target_machine.3 \
45	elftc_string_table_create.3 elftc_string_table_destroy.3 \
46	elftc_string_table_create.3 elftc_string_table_from_section.3 \
47	elftc_string_table_create.3 elftc_string_table_image.3 \
48	elftc_string_table_create.3 elftc_string_table_insert.3 \
49	elftc_string_table_create.3 elftc_string_table_lookup.3 \
50	elftc_string_table_create.3 elftc_string_table_remove.3 \
51	elftc_string_table_create.3 elftc_string_table_to_string.3
52
53# This same hack is in lib/libelf/Makefile and usr.bin/readelf/Makefile
54# We need to link against the correct version of these files. One
55# solution is to include ../../sys in the include path. This causes
56# problems when a header file in sys depends on a file in another
57# part of the tree, e.g. a machine dependent header.
58#
59SRCS+=		sys/elf_common.h
60CLEANDIRS=	sys
61CFLAGS+=	-I.
62sys/elf_common.h: ${SRCTOP}/sys/${.TARGET} .NOMETA
63	mkdir -p ${.OBJDIR}/sys
64	ln -sf ${.ALLSRC} ${.TARGET}
65
66.include <bsd.lib.mk>
67