xref: /freebsd/usr.bin/clang/lldb/Makefile (revision 0b3105a37d7adcadcb720112fed4dc4e8040be99)
1# $FreeBSD$
2
3.include <bsd.own.mk>
4
5PROG_CXX=lldb
6
7LLDB_SRCS=${.CURDIR}/../../../contrib/llvm/tools/lldb
8
9CFLAGS+=	-I${LLDB_SRCS}/include
10CXXFLAGS+=	-std=c++11
11.if ${MACHINE_CPUARCH} == "arm"
12CFLAGS+=	-mlong-calls
13.endif
14
15SRCDIR=	tools/lldb/tools/driver
16SRCS=	Driver.cpp \
17	Platform.cpp
18
19# Man page directory
20.PATH: ${LLDB_SRCS}/docs
21
22LIBADD=	edit panel ncursesw execinfo z
23
24LLDB_LIBS=\
25	lldb \
26	\
27	lldbAPI \
28	lldbBreakpoint \
29	lldbCommands \
30	lldbCore \
31	lldbDataFormatters \
32	lldbExpression \
33	lldbHostFreeBSD \
34	lldbHostCommon \
35	lldbHostPOSIX \
36	lldbInitialization \
37	lldbInterpreter \
38	lldbSymbol \
39	lldbTarget \
40	lldbUtility \
41	\
42	lldbPluginABISysV_arm \
43	lldbPluginABISysV_arm64 \
44	lldbPluginABISysV_i386 \
45	lldbPluginABISysV_mips \
46	lldbPluginABISysV_mips64 \
47	lldbPluginABISysV_ppc \
48	lldbPluginABISysV_ppc64 \
49	lldbPluginABISysV_x86_64 \
50	lldbPluginCXXItaniumABI \
51	lldbPluginDisassemblerLLVM \
52	lldbPluginInstructionARM \
53	lldbPluginInstructionARM64 \
54	lldbPluginInstructionMIPS \
55	lldbPluginInstructionMIPS64 \
56	lldbPluginInstrumentationRuntimeAddressSanitizer \
57	lldbPluginJITLoaderGDB \
58	lldbPluginSymbolFileDWARF \
59	lldbPluginSymbolFileSymtab \
60	lldbPluginDynamicLoaderStatic \
61	lldbPluginDynamicLoaderPosixDYLD \
62	lldbPluginMemoryHistoryASan \
63	lldbPluginObjectContainerBSDArchive \
64	lldbPluginObjectFileELF \
65	lldbPluginObjectFileJIT \
66	lldbPluginSymbolVendorELF \
67	lldbPluginPlatformFreeBSD \
68	lldbPluginPlatformGDB \
69	lldbPluginProcessElfCore \
70	lldbPluginProcessFreeBSD \
71	lldbPluginProcessGDBRemote \
72	lldbPluginProcessUtility \
73	lldbPluginProcessPOSIX \
74	lldbPluginProcessFreeBSD \
75	lldbPluginUnwindAssemblyInstEmulation \
76	lldbPluginUnwindAssemblyX86
77
78LDADD+=	-Wl,--start-group
79.for lib in ${LLDB_LIBS}
80DPADD+=	${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a
81LDADD+=	${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a
82.endfor
83LDADD+=	-Wl,--end-group
84
85# Clang and LLVM libraries
86LIBDEPS=\
87	clangfrontend \
88	clangdriver \
89	clangserialization \
90	clangcodegen \
91	clangparse \
92	clangsema \
93	clanganalysis \
94	clangedit \
95	clangast \
96	clanglex \
97	clangbasic \
98	\
99	llvmoption \
100	llvmobjcarcopts \
101	llvmlinker \
102	llvmmcjit \
103	llvmruntimedyld \
104	llvmexecutionengine \
105	llvmirreader \
106	llvmipo \
107	llvmvectorize \
108	llvmbitwriter \
109	llvmasmparser \
110	llvmaarch64disassembler \
111	llvmaarch64codegen \
112	llvmaarch64asmparser \
113	llvmaarch64desc \
114	llvmaarch64info \
115	llvmaarch64instprinter \
116	llvmaarch64utils \
117	llvmarmdisassembler \
118	llvmarmcodegen \
119	llvmarmasmparser \
120	llvmarmdesc \
121	llvmarminfo \
122	llvmarminstprinter \
123	llvmmipsdisassembler \
124	llvmmipscodegen \
125	llvmmipsasmparser \
126	llvmmipsdesc \
127	llvmmipsinfo \
128	llvmmipsinstprinter \
129	llvmpowerpcdisassembler \
130	llvmpowerpccodegen \
131	llvmpowerpcasmparser \
132	llvmpowerpcdesc \
133	llvmpowerpcinfo \
134	llvmpowerpcinstprinter \
135	llvmsparcdisassembler \
136	llvmsparccodegen \
137	llvmsparcasmparser \
138	llvmsparcdesc \
139	llvmsparcinfo \
140	llvmsparcinstprinter \
141	llvmx86disassembler \
142	llvmx86asmparser \
143	llvmx86codegen \
144	llvmselectiondag \
145	llvmasmprinter \
146	llvmcodegen \
147	llvmtarget \
148	llvmscalaropts \
149	llvmprofiledata \
150	llvminstcombine \
151	llvmtransformutils \
152	llvmipa \
153	llvmanalysis \
154	llvminstrumentation \
155	llvmx86desc \
156	llvmobject \
157	llvmmcparser \
158	llvmbitreader \
159	llvmmcdisassembler \
160	llvmx86info \
161	llvmx86instprinter \
162	llvmmc \
163	llvmx86utils \
164	llvmcore \
165	llvmsupport
166
167LIBADD+=	pthread
168
169.include "../clang.prog.mk"
170