aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/clang/llvm-objcopy/Makefile
blob: afd03b848b1914d99d9b13933d3865f7d7508ab2 (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
# $FreeBSD$

.include <src.opts.mk>

PROG_CXX=	llvm-objcopy

SRCDIR=		llvm/tools/llvm-objcopy
SRCS+=		Buffer.cpp
SRCS+=		COFF/COFFObjcopy.cpp
SRCS+=		COFF/Object.cpp
SRCS+=		COFF/Reader.cpp
SRCS+=		COFF/Writer.cpp
SRCS+=		CopyConfig.cpp
SRCS+=		ELF/ELFConfig.cpp
SRCS+=		ELF/ELFObjcopy.cpp
SRCS+=		ELF/Object.cpp
SRCS+=		MachO/MachOLayoutBuilder.cpp
SRCS+=		MachO/MachOObjcopy.cpp
SRCS+=		MachO/MachOReader.cpp
SRCS+=		MachO/MachOWriter.cpp
SRCS+=		MachO/Object.cpp
SRCS+=		llvm-objcopy.cpp
SRCS+=		wasm/Object.cpp
SRCS+=		wasm/Reader.cpp
SRCS+=		wasm/WasmObjcopy.cpp
SRCS+=		wasm/Writer.cpp

.include "${SRCTOP}/lib/clang/llvm.pre.mk"

CFLAGS+=	-I${.OBJDIR}
CFLAGS+=	-I${LLVM_BASE}/${SRCDIR}

.for hdr in BitcodeStripOpts InstallNameToolOpts ObjcopyOpts StripOpts
${hdr}.inc: ${LLVM_BASE}/${SRCDIR}/${hdr}.td
	${LLVM_TBLGEN} -gen-opt-parser-defs \
	    -I ${LLVM_SRCS}/tools/llvm-objcopy -I ${LLVM_SRCS}/include \
	    -d ${.TARGET}.d -o ${.TARGET} ${LLVM_BASE}/${SRCDIR}/${hdr}.td
TGHDRS+=	${hdr}.inc
.endfor

DEPENDFILES+=	${TGHDRS:C/$/.d/}
DPSRCS+=	${TGHDRS}
CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}

LIBADD+=	z

LINKS=		${BINDIR}/llvm-objcopy ${BINDIR}/llvm-strip

.if ${MK_LLVM_BINUTILS} != "no"
LINKS+=		${BINDIR}/llvm-objcopy ${BINDIR}/objcopy \
		${BINDIR}/llvm-strip ${BINDIR}/strip
MLINKS=		llvm-objcopy.1 objcopy.1
.endif

.include "../llvm.prog.mk"