xref: /freebsd/usr.bin/clang/Makefile (revision e9ac41698b2f322d55ccf9da50a3596edb2c1800)
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)
8021385abSAlex Richardson# LLVM binutils are needed to support features such as LTO, so we build them
9021385abSAlex Richardson# by default if clang is enabled. If MK_LLVM_BINUTILS is set, we also use them
10021385abSAlex Richardson# as the default binutils (ar,nm,addr2line, etc.).
11021385abSAlex Richardson.if ${MK_CLANG} != "no" || ${MK_LLVM_BINUTILS} != "no"
129c954a48SEd MasteSUBDIR+=	llvm-ar
139c954a48SEd MasteSUBDIR+=	llvm-nm
14021385abSAlex RichardsonSUBDIR+=	llvm-objcopy
1530d4828eSDimitry AndricSUBDIR+=	llvm-objdump
161b85b68dSCameron KatriSUBDIR+=	llvm-readobj
17021385abSAlex RichardsonSUBDIR+=	llvm-size
18021385abSAlex RichardsonSUBDIR+=	llvm-strings
1971259635SKyle EvansSUBDIR+=	llvm-symbolizer
20021385abSAlex Richardson.endif
2130d4828eSDimitry Andric
22021385abSAlex Richardson.if ${MK_LLVM_BINUTILS} != "no" || ${MK_LLVM_CXXFILT} != "no"
2307bab441SDimitry AndricSUBDIR+=	llvm-cxxfilt
2407bab441SDimitry Andric.endif
2507bab441SDimitry Andric
26e8f1392dSEd Maste.if ${MK_CLANG_EXTRAS} != "no"
27986e05bcSDimitry AndricSUBDIR+=	bugpoint
28986e05bcSDimitry AndricSUBDIR+=	llc
29986e05bcSDimitry AndricSUBDIR+=	lli
30986e05bcSDimitry AndricSUBDIR+=	llvm-as
31986e05bcSDimitry AndricSUBDIR+=	llvm-bcanalyzer
32986e05bcSDimitry AndricSUBDIR+=	llvm-cxxdump
33986e05bcSDimitry AndricSUBDIR+=	llvm-diff
34986e05bcSDimitry AndricSUBDIR+=	llvm-dis
35986e05bcSDimitry AndricSUBDIR+=	llvm-dwarfdump
36*fcaf7f86SDimitry AndricSUBDIR+=	llvm-dwarfutil
3762cfcf62SDimitry AndricSUBDIR+=	llvm-dwp
38986e05bcSDimitry AndricSUBDIR+=	llvm-extract
39986e05bcSDimitry AndricSUBDIR+=	llvm-link
40986e05bcSDimitry AndricSUBDIR+=	llvm-lto
41281264c5SDimitry AndricSUBDIR+=	llvm-lto2
42986e05bcSDimitry AndricSUBDIR+=	llvm-mc
4367b158f6SDimitry AndricSUBDIR+=	llvm-mca
44281264c5SDimitry AndricSUBDIR+=	llvm-modextract
45db17bf38SDimitry AndricSUBDIR+=	llvm-pdbutil
46986e05bcSDimitry AndricSUBDIR+=	llvm-rtdyld
47281264c5SDimitry AndricSUBDIR+=	llvm-xray
48986e05bcSDimitry AndricSUBDIR+=	opt
496bb1caddSDimitry Andric.endif
506bb1caddSDimitry Andric
510a9ab9f5SConrad Meyer.if ${MK_CLANG_EXTRAS} != "no" || ${MK_CLANG_FORMAT} != "no"
520a9ab9f5SConrad MeyerSUBDIR+=	clang-format
530a9ab9f5SConrad Meyer.endif
540a9ab9f5SConrad Meyer
5575bc38b9SEd Maste.if ${MK_LLD} != "no"
5675bc38b9SEd MasteSUBDIR+=	lld
5775bc38b9SEd Maste.endif
58e8f1392dSEd Maste.if ${MK_LLDB} != "no"
59e8f1392dSEd MasteSUBDIR+=	lldb
60d409305fSDimitry AndricSUBDIR+=	lldb-server
611b49115aSEd Maste.endif
621b49115aSEd Maste.if ${MK_LLVM_COV} != "no"
631b49115aSEd MasteSUBDIR+=	llvm-cov
64e8bd2804SEd MasteSUBDIR+=	llvm-profdata
651b49115aSEd Maste.endif
66e8f1392dSEd Maste.endif # TOOLS_PREFIX
67e8f1392dSEd Maste
6832a632c4SDimitry AndricSUBDIR_PARALLEL=
6932a632c4SDimitry Andric
7047c832c3SRoman Divacky.include <bsd.subdir.mk>
71