xref: /freebsd/usr.bin/clang/Makefile (revision d3c06bed2c16b434dd49958dee5de8c55ad00b85)
1c6063d0dSWarner Losh.include <src.opts.mk>
26bb1caddSDimitry Andric
38e1c989aSAlex Richardson.if ${MK_CLANG} != "no"
4986e05bcSDimitry AndricSUBDIR+=	clang
5560bf0c7SDimitry Andric.endif
6560bf0c7SDimitry Andric
7e8f1392dSEd Maste.if !defined(TOOLS_PREFIX)
8*d3c06bedSLexi Winter.if ${MK_CLANG} != "no"
9*d3c06bedSLexi WinterSUBDIR+=	clang-scan-deps
10*d3c06bedSLexi Winter.endif
11*d3c06bedSLexi Winter
12021385abSAlex Richardson# LLVM binutils are needed to support features such as LTO, so we build them
13021385abSAlex Richardson# by default if clang is enabled. If MK_LLVM_BINUTILS is set, we also use them
14021385abSAlex Richardson# as the default binutils (ar,nm,addr2line, etc.).
15021385abSAlex Richardson.if ${MK_CLANG} != "no" || ${MK_LLVM_BINUTILS} != "no"
169c954a48SEd MasteSUBDIR+=	llvm-ar
179c954a48SEd MasteSUBDIR+=	llvm-nm
18021385abSAlex RichardsonSUBDIR+=	llvm-objcopy
1930d4828eSDimitry AndricSUBDIR+=	llvm-objdump
201b85b68dSCameron KatriSUBDIR+=	llvm-readobj
21021385abSAlex RichardsonSUBDIR+=	llvm-size
22021385abSAlex RichardsonSUBDIR+=	llvm-strings
2371259635SKyle EvansSUBDIR+=	llvm-symbolizer
24021385abSAlex Richardson.endif
2530d4828eSDimitry Andric
26021385abSAlex Richardson.if ${MK_LLVM_BINUTILS} != "no" || ${MK_LLVM_CXXFILT} != "no"
2707bab441SDimitry AndricSUBDIR+=	llvm-cxxfilt
2807bab441SDimitry Andric.endif
2907bab441SDimitry Andric
30e8f1392dSEd Maste.if ${MK_CLANG_EXTRAS} != "no"
31986e05bcSDimitry AndricSUBDIR+=	bugpoint
32986e05bcSDimitry AndricSUBDIR+=	llc
33986e05bcSDimitry AndricSUBDIR+=	lli
34986e05bcSDimitry AndricSUBDIR+=	llvm-as
35986e05bcSDimitry AndricSUBDIR+=	llvm-bcanalyzer
36986e05bcSDimitry AndricSUBDIR+=	llvm-cxxdump
37986e05bcSDimitry AndricSUBDIR+=	llvm-diff
38986e05bcSDimitry AndricSUBDIR+=	llvm-dis
39986e05bcSDimitry AndricSUBDIR+=	llvm-dwarfdump
40fcaf7f86SDimitry AndricSUBDIR+=	llvm-dwarfutil
4162cfcf62SDimitry AndricSUBDIR+=	llvm-dwp
42986e05bcSDimitry AndricSUBDIR+=	llvm-extract
43986e05bcSDimitry AndricSUBDIR+=	llvm-link
44986e05bcSDimitry AndricSUBDIR+=	llvm-lto
45281264c5SDimitry AndricSUBDIR+=	llvm-lto2
46986e05bcSDimitry AndricSUBDIR+=	llvm-mc
4767b158f6SDimitry AndricSUBDIR+=	llvm-mca
48281264c5SDimitry AndricSUBDIR+=	llvm-modextract
49db17bf38SDimitry AndricSUBDIR+=	llvm-pdbutil
50986e05bcSDimitry AndricSUBDIR+=	llvm-rtdyld
51281264c5SDimitry AndricSUBDIR+=	llvm-xray
52986e05bcSDimitry AndricSUBDIR+=	opt
536bb1caddSDimitry Andric.endif
546bb1caddSDimitry Andric
550a9ab9f5SConrad Meyer.if ${MK_CLANG_EXTRAS} != "no" || ${MK_CLANG_FORMAT} != "no"
560a9ab9f5SConrad MeyerSUBDIR+=	clang-format
570a9ab9f5SConrad Meyer.endif
580a9ab9f5SConrad Meyer
5975bc38b9SEd Maste.if ${MK_LLD} != "no"
6075bc38b9SEd MasteSUBDIR+=	lld
6175bc38b9SEd Maste.endif
62e8f1392dSEd Maste.if ${MK_LLDB} != "no"
63e8f1392dSEd MasteSUBDIR+=	lldb
64d409305fSDimitry AndricSUBDIR+=	lldb-server
651b49115aSEd Maste.endif
661b49115aSEd Maste.if ${MK_LLVM_COV} != "no"
671b49115aSEd MasteSUBDIR+=	llvm-cov
68e8bd2804SEd MasteSUBDIR+=	llvm-profdata
691b49115aSEd Maste.endif
70e8f1392dSEd Maste.endif # TOOLS_PREFIX
71e8f1392dSEd Maste
7232a632c4SDimitry AndricSUBDIR_PARALLEL=
7332a632c4SDimitry Andric
7447c832c3SRoman Divacky.include <bsd.subdir.mk>
75