xref: /freebsd/usr.bin/readelf/Makefile (revision e0649a35a670c4b625d1de289b3886d9b3c9654f)
1.include <src.opts.mk>
2
3PACKAGE=	elftoolchain
4
5ELFTCDIR=	${SRCTOP}/contrib/elftoolchain
6READELFDIR=	${ELFTCDIR}/readelf
7
8.PATH: ${READELFDIR}
9
10PROG=	readelf
11SRCS=	readelf.c
12
13LIBADD=	dwarf elftc elf z
14
15.if ${MK_CASPER} != "no"
16LIBADD+=	casper
17LIBADD+=	cap_fileargs
18CFLAGS+=	-DWITH_CASPER
19.endif
20
21CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
22
23# This same hack is in lib/libelf/Makefile and lib/libdwarf/Makefile
24# We need to link against the correct version of these files. One
25# solution is to include SRCTOP/sys in the include path. This causes
26# problems when a header file in sys depends on a file in another
27# part of the tree, e.g. a machine dependent header.
28#
29SRCS+=		sys/elf32.h sys/elf64.h sys/elf_common.h
30CLEANDIRS=	sys
31CFLAGS+=	-I.
32sys/elf32.h sys/elf64.h sys/elf_common.h: ${SRCTOP}/sys/${.TARGET} .NOMETA
33	mkdir -p ${.OBJDIR}/sys
34	ln -sf ${.ALLSRC} ${.TARGET}
35
36.include <bsd.prog.mk>
37