xref: /freebsd/usr.bin/clang/lldb/Makefile (revision 2e5b60079b7d8c3ca68f1390cd90f305e651f8d3)
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
12SRCDIR=	tools/lldb/tools/driver
13SRCS=	Driver.cpp \
14	Platform.cpp
15
16lldb.1:
17	ln -fs ${LLDB_SRCS}/docs/lldb.1 ${.TARGET}
18
19DPADD=	${LIBEDIT} ${LIBNCURSESW} ${LIBEXECINFO} ${LIBPANEL} ${LIBZ}
20LDADD=	-ledit -lncursesw -lexecinfo -lpanel -lz
21
22LLDB_LIBS=\
23	lldb \
24	\
25	lldbAPI \
26	lldbBreakpoint \
27	lldbCommands \
28	lldbCore \
29	lldbDataFormatters \
30	lldbExpression \
31	lldbHostFreeBSD \
32	lldbHostCommon \
33	lldbHostPOSIX \
34	lldbInterpreter \
35	lldbSymbol \
36	lldbTarget \
37	lldbUtility \
38	\
39	lldbPluginABISysV_x86_64 \
40	lldbPluginCXXItaniumABI \
41	lldbPluginDisassemblerLLVM \
42	lldbPluginInstructionARM \
43	lldbPluginInstructionARM64 \
44	lldbPluginJITLoaderGDB \
45	lldbPluginSymbolFileDWARF \
46	lldbPluginSymbolFileSymtab \
47	lldbPluginDynamicLoaderStatic \
48	lldbPluginDynamicLoaderPosixDYLD \
49	lldbPluginObjectContainerBSDArchive \
50	lldbPluginObjectFileELF \
51	lldbPluginObjectFileJIT \
52	lldbPluginSymbolVendorELF \
53	lldbPluginPlatformFreeBSD \
54	lldbPluginPlatformGDB \
55	lldbPluginProcessElfCore \
56	lldbPluginProcessFreeBSD \
57	lldbPluginProcessGDBRemote \
58	lldbPluginProcessUtility \
59	lldbPluginProcessPOSIX \
60	lldbPluginProcessFreeBSD \
61	lldbPluginUnwindAssemblyInstEmulation \
62	lldbPluginUnwindAssemblyX86
63
64LDADD+=	-Wl,--start-group
65.for lib in ${LLDB_LIBS}
66DPADD+=	${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a
67LDADD+=	${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a
68.endfor
69LDADD+=	-Wl,--end-group
70
71# Clang and LLVM libraries
72LIBDEPS=\
73	clangfrontend \
74	clangdriver \
75	clangserialization \
76	clangcodegen \
77	clangparse \
78	clangsema \
79	clanganalysis \
80	clangedit \
81	clangast \
82	clangbasic \
83	clanglex \
84	\
85	llvmmcdisassembler \
86	llvmobjcarcopts \
87	llvmprofiledata \
88	llvmoption \
89	llvmlinker \
90	llvmmcjit \
91	llvmruntimedyld \
92	llvmjit \
93	llvmexecutionengine \
94	llvmirreader \
95	llvmipo \
96	llvmvectorize \
97	llvminstrumentation \
98	llvmbitwriter \
99	llvmasmparser \
100	llvmaarch64disassembler \
101	llvmaarch64codegen \
102	llvmaarch64asmparser \
103	llvmaarch64desc \
104	llvmaarch64info \
105	llvmaarch64instprinter \
106	llvmaarch64utils \
107	llvmarmdisassembler \
108	llvmarmcodegen \
109	llvmarmasmparser \
110	llvmarmdesc \
111	llvmarminfo \
112	llvmarminstprinter \
113	llvmmipsdisassembler \
114	llvmmipscodegen \
115	llvmmipsasmparser \
116	llvmmipsdesc \
117	llvmmipsinfo \
118	llvmmipsinstprinter \
119	llvmpowerpcdisassembler \
120	llvmpowerpccodegen \
121	llvmpowerpcasmparser \
122	llvmpowerpcdesc \
123	llvmpowerpcinfo \
124	llvmpowerpcinstprinter \
125	llvmsparcdisassembler \
126	llvmsparccodegen \
127	llvmsparcasmparser \
128	llvmsparcdesc \
129	llvmsparcinfo \
130	llvmsparcinstprinter \
131	llvmx86disassembler \
132	llvmx86asmparser \
133	llvmx86codegen \
134	llvmselectiondag \
135	llvmasmprinter \
136	llvmcodegen \
137	llvmscalaropts \
138	llvminstcombine \
139	llvmtransformutils \
140	llvmipa \
141	llvmanalysis \
142	llvmtarget \
143	llvmx86desc \
144	llvmobject \
145	llvmmcparser \
146	llvmbitreader \
147	llvmcore \
148	llvmx86info \
149	llvmx86instprinter \
150	llvmmc \
151	llvmx86utils \
152	llvmsupport
153
154.include "../clang.prog.mk"
155
156LDADD+=	-lpthread
157