xref: /freebsd/usr.bin/readelf/Makefile (revision 4c1a82cea504df7a79f5bd8f7d0a41cacccff16e)
1# $FreeBSD$
2
3.include <src.opts.mk>
4
5ELFTCDIR=	${SRCTOP}/contrib/elftoolchain
6READELFDIR=	${ELFTCDIR}/readelf
7
8.PATH: ${READELFDIR}
9
10PROG=	readelf
11SRCS=	readelf.c
12
13LIBADD=	dwarf elftc elf
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