xref: /freebsd/usr.bin/clang/lldb/Makefile (revision 788ca347b816afd83b2885e0c79aeeb88649b2ab)
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_ppc \
40	lldbPluginABISysV_ppc64 \
41	lldbPluginABISysV_x86_64 \
42	lldbPluginCXXItaniumABI \
43	lldbPluginDisassemblerLLVM \
44	lldbPluginInstructionARM \
45	lldbPluginInstructionARM64 \
46	lldbPluginInstrumentationRuntimeAddressSanitizer \
47	lldbPluginJITLoaderGDB \
48	lldbPluginSymbolFileDWARF \
49	lldbPluginSymbolFileSymtab \
50	lldbPluginDynamicLoaderStatic \
51	lldbPluginDynamicLoaderPosixDYLD \
52	lldbPluginMemoryHistoryASan \
53	lldbPluginObjectContainerBSDArchive \
54	lldbPluginObjectFileELF \
55	lldbPluginObjectFileJIT \
56	lldbPluginSymbolVendorELF \
57	lldbPluginPlatformFreeBSD \
58	lldbPluginPlatformGDB \
59	lldbPluginProcessElfCore \
60	lldbPluginProcessFreeBSD \
61	lldbPluginProcessGDBRemote \
62	lldbPluginProcessUtility \
63	lldbPluginProcessPOSIX \
64	lldbPluginProcessFreeBSD \
65	lldbPluginUnwindAssemblyInstEmulation \
66	lldbPluginUnwindAssemblyX86
67
68LDADD+=	-Wl,--start-group
69.for lib in ${LLDB_LIBS}
70DPADD+=	${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a
71LDADD+=	${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a
72.endfor
73LDADD+=	-Wl,--end-group
74
75# Clang and LLVM libraries
76LIBDEPS=\
77	clangfrontend \
78	clangdriver \
79	clangserialization \
80	clangcodegen \
81	clangparse \
82	clangsema \
83	clanganalysis \
84	clangedit \
85	clangast \
86	clangbasic \
87	clanglex \
88	\
89	llvmmcdisassembler \
90	llvmobjcarcopts \
91	llvmprofiledata \
92	llvmoption \
93	llvmlinker \
94	llvmmcjit \
95	llvmruntimedyld \
96	llvmexecutionengine \
97	llvmirreader \
98	llvmipo \
99	llvmvectorize \
100	llvminstrumentation \
101	llvmbitwriter \
102	llvmasmparser \
103	llvmaarch64disassembler \
104	llvmaarch64codegen \
105	llvmaarch64asmparser \
106	llvmaarch64desc \
107	llvmaarch64info \
108	llvmaarch64instprinter \
109	llvmaarch64utils \
110	llvmarmdisassembler \
111	llvmarmcodegen \
112	llvmarmasmparser \
113	llvmarmdesc \
114	llvmarminfo \
115	llvmarminstprinter \
116	llvmmipsdisassembler \
117	llvmmipscodegen \
118	llvmmipsasmparser \
119	llvmmipsdesc \
120	llvmmipsinfo \
121	llvmmipsinstprinter \
122	llvmpowerpcdisassembler \
123	llvmpowerpccodegen \
124	llvmpowerpcasmparser \
125	llvmpowerpcdesc \
126	llvmpowerpcinfo \
127	llvmpowerpcinstprinter \
128	llvmsparcdisassembler \
129	llvmsparccodegen \
130	llvmsparcasmparser \
131	llvmsparcdesc \
132	llvmsparcinfo \
133	llvmsparcinstprinter \
134	llvmx86disassembler \
135	llvmx86asmparser \
136	llvmx86codegen \
137	llvmselectiondag \
138	llvmasmprinter \
139	llvmcodegen \
140	llvmscalaropts \
141	llvminstcombine \
142	llvmtransformutils \
143	llvmipa \
144	llvmanalysis \
145	llvmtarget \
146	llvmx86desc \
147	llvmobject \
148	llvmmcparser \
149	llvmbitreader \
150	llvmcore \
151	llvmx86info \
152	llvmx86instprinter \
153	llvmmc \
154	llvmx86utils \
155	llvmsupport
156
157.include "../clang.prog.mk"
158
159LDADD+=	-lpthread
160