xref: /freebsd/usr.bin/clang/llvm-objcopy/Makefile (revision f28c1d0c5c6c6532df0dfa38eaf804343988d163)
19509d906SDimitry Andric# $FreeBSD$
29509d906SDimitry Andric
3021385abSAlex Richardson.include <src.opts.mk>
4021385abSAlex Richardson
59509d906SDimitry AndricPROG_CXX=	llvm-objcopy
69509d906SDimitry Andric
70b57cec5SDimitry AndricSRCDIR=		llvm/tools/llvm-objcopy
8efa75597SDimitry AndricSRCS+=		Buffer.cpp
9efa75597SDimitry AndricSRCS+=		COFF/COFFObjcopy.cpp
10efa75597SDimitry AndricSRCS+=		COFF/Object.cpp
11efa75597SDimitry AndricSRCS+=		COFF/Reader.cpp
12efa75597SDimitry AndricSRCS+=		COFF/Writer.cpp
13efa75597SDimitry AndricSRCS+=		CopyConfig.cpp
14b1ae9102SDimitry AndricSRCS+=		ELF/ELFConfig.cpp
15efa75597SDimitry AndricSRCS+=		ELF/ELFObjcopy.cpp
16efa75597SDimitry AndricSRCS+=		ELF/Object.cpp
17b1ae9102SDimitry AndricSRCS+=		MachO/MachOLayoutBuilder.cpp
1824b8043eSDimitry AndricSRCS+=		MachO/MachOObjcopy.cpp
1924b8043eSDimitry AndricSRCS+=		MachO/MachOReader.cpp
2024b8043eSDimitry AndricSRCS+=		MachO/MachOWriter.cpp
2124b8043eSDimitry AndricSRCS+=		MachO/Object.cpp
229509d906SDimitry AndricSRCS+=		llvm-objcopy.cpp
2348aaf27bSDimitry AndricSRCS+=		wasm/Object.cpp
2448aaf27bSDimitry AndricSRCS+=		wasm/Reader.cpp
2548aaf27bSDimitry AndricSRCS+=		wasm/WasmObjcopy.cpp
2648aaf27bSDimitry AndricSRCS+=		wasm/Writer.cpp
279509d906SDimitry Andric
2867b158f6SDimitry Andric.include "${SRCTOP}/lib/clang/llvm.pre.mk"
2967b158f6SDimitry Andric
3067b158f6SDimitry AndricCFLAGS+=	-I${.OBJDIR}
310b57cec5SDimitry AndricCFLAGS+=	-I${LLVM_BASE}/${SRCDIR}
3267b158f6SDimitry Andric
33e8d8bef9SDimitry Andric.for hdr in BitcodeStripOpts InstallNameToolOpts ObjcopyOpts StripOpts
340b57cec5SDimitry Andric${hdr}.inc: ${LLVM_BASE}/${SRCDIR}/${hdr}.td
3567b158f6SDimitry Andric	${LLVM_TBLGEN} -gen-opt-parser-defs \
36b1ae9102SDimitry Andric	    -I ${LLVM_SRCS}/tools/llvm-objcopy -I ${LLVM_SRCS}/include \
37b1ae9102SDimitry Andric	    -d ${.TARGET}.d -o ${.TARGET} ${LLVM_BASE}/${SRCDIR}/${hdr}.td
3867b158f6SDimitry AndricTGHDRS+=	${hdr}.inc
3967b158f6SDimitry Andric.endfor
4067b158f6SDimitry Andric
4167b158f6SDimitry AndricDEPENDFILES+=	${TGHDRS:C/$/.d/}
4267b158f6SDimitry AndricDPSRCS+=	${TGHDRS}
4367b158f6SDimitry AndricCLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
4467b158f6SDimitry Andric
45efa75597SDimitry AndricLIBADD+=	z
4667b158f6SDimitry Andric
47*f28c1d0cSJessica ClarkeLINKS=		${BINDIR}/llvm-objcopy ${BINDIR}/llvm-strip
48*f28c1d0cSJessica Clarke
49021385abSAlex Richardson.if ${MK_LLVM_BINUTILS} != "no"
50*f28c1d0cSJessica ClarkeLINKS+=		${BINDIR}/llvm-objcopy ${BINDIR}/objcopy \
51*f28c1d0cSJessica Clarke		${BINDIR}/llvm-strip ${BINDIR}/strip
52021385abSAlex RichardsonMLINKS=		llvm-objcopy.1 objcopy.1
53021385abSAlex Richardson.endif
54021385abSAlex Richardson
55e8d8bef9SDimitry Andric.include "../llvm.prog.mk"
56