xref: /netbsd-src/external/apache2/llvm/bin/llvm-objcopy/Makefile (revision cef8759bd76c1b621f8eab8faa6f208faabc2e15)
1#	$NetBSD: Makefile,v 1.1 2019/11/11 22:45:00 joerg Exp $
2
3PROG_CXX=	llvm-objcopy
4NOMAN=		yes
5
6.include <bsd.init.mk>
7
8.PATH: ${LLVM_SRCDIR}/tools/llvm-objcopy
9
10CPPFLAGS+=	-I${LLVM_SRCDIR}/tools/llvm-objcopy
11
12SRCS=	Buffer.cpp \
13	CopyConfig.cpp \
14	llvm-objcopy.cpp
15
16.PATH: ${LLVM_SRCDIR}/tools/llvm-objcopy/COFF
17SRCS+=	COFFObjcopy.cpp \
18	Object.cpp \
19	Reader.cpp \
20	Writer.cpp
21
22.PATH: ${LLVM_SRCDIR}/tools/llvm-objcopy/ELF
23SRCS+=	ELFConfig.cpp \
24	ELFObjcopy.cpp \
25	ELFObject.cpp
26
27ELFObject.cpp: ${LLVM_SRCDIR}/tools/llvm-objcopy/ELF/Object.cpp
28	cat ${LLVM_SRCDIR}/tools/llvm-objcopy/ELF/Object.cpp > ELFObject.cpp
29
30CPPFLAGS.ELFObject.cpp+=	-I${LLVM_SRCDIR}/tools/llvm-objcopy/ELF
31
32.PATH: ${LLVM_SRCDIR}/tools/llvm-objcopy/MachO
33SRCS+=	MachOLayoutBuilder.cpp \
34	MachOObjcopy.cpp \
35	MachOObject.cpp \
36	MachOReader.cpp \
37	MachOWriter.cpp
38
39MachOObject.cpp: ${LLVM_SRCDIR}/tools/llvm-objcopy/MachO/Object.cpp
40	cat ${LLVM_SRCDIR}/tools/llvm-objcopy/MachO/Object.cpp > MachOObject.cpp
41
42CPPFLAGS.MachOObject.cpp+=	-I${LLVM_SRCDIR}/tools/llvm-objcopy/MachO
43
44TABLEGEN_SRC=		CommonOpts.td ObjcopyOpts.td StripOpts.td
45
46TABLEGEN_OUTPUT.CommonOpts.td= \
47	CommonOpts.inc|-gen-opt-parser-defs
48
49TABLEGEN_OUTPUT.ObjcopyOpts.td= \
50	ObjcopyOpts.inc|-gen-opt-parser-defs
51
52TABLEGEN_OUTPUT.StripOpts.td= \
53	StripOpts.inc|-gen-opt-parser-defs
54.include "${.PARSEDIR}/../../tablegen.mk"
55
56LDADD+=	-lz
57DPADD+=	${LIBZ}
58
59LLVM_LIBS+= \
60	Object \
61	BitReader \
62	BitstreamReader \
63	MCParser \
64	MC \
65	IR \
66	BinaryFormat \
67	Option \
68	Support \
69	Demangle
70
71.include "${.PARSEDIR}/../../link.mk"
72
73.include <bsd.prog.mk>
74