5 LLVM_SRCS= ${SRCTOP}/contrib/llvm
6 LLD_SRCS= ${LLVM_SRCS}/tools/lld
11 .if ${MK_LLD_IS_LD} != "no"
12 SYMLINKS= ${PROG_CXX} ${BINDIR}/ld
16 CFLAGS+= -I${LLD_SRCS}/ELF
17 CFLAGS+= -I${LLD_SRCS}/include
19 CFLAGS+= -I${OBJTOP}/lib/clang/libllvm
22 SRCS+= ELF/Arch/AArch64.cpp
23 SRCS+= ELF/Arch/AMDGPU.cpp
24 SRCS+= ELF/Arch/ARM.cpp
25 SRCS+= ELF/Arch/AVR.cpp
26 SRCS+= ELF/Arch/Mips.cpp
27 SRCS+= ELF/Arch/MipsArchTree.cpp
28 SRCS+= ELF/Arch/PPC.cpp
29 SRCS+= ELF/Arch/PPC64.cpp
30 SRCS+= ELF/Arch/SPARCV9.cpp
31 SRCS+= ELF/Arch/X86.cpp
32 SRCS+= ELF/Arch/X86_64.cpp
34 SRCS+= ELF/DriverUtils.cpp
35 SRCS+= ELF/EhFrame.cpp
37 SRCS+= ELF/Filesystem.cpp
38 SRCS+= ELF/GdbIndex.cpp
40 SRCS+= ELF/InputFiles.cpp
41 SRCS+= ELF/InputSection.cpp
43 SRCS+= ELF/LinkerScript.cpp
44 SRCS+= ELF/MapFile.cpp
45 SRCS+= ELF/MarkLive.cpp
46 SRCS+= ELF/OutputSections.cpp
47 SRCS+= ELF/Relocations.cpp
48 SRCS+= ELF/ScriptLexer.cpp
49 SRCS+= ELF/ScriptParser.cpp
50 SRCS+= ELF/Strings.cpp
51 SRCS+= ELF/SymbolTable.cpp
52 SRCS+= ELF/Symbols.cpp
53 SRCS+= ELF/SyntheticSections.cpp
57 SRCS+= lib/Config/Version.cpp
58 SRCS+= lib/Core/Error.cpp
59 SRCS+= lib/Core/File.cpp
60 SRCS+= lib/Core/LinkingContext.cpp
61 SRCS+= lib/Core/Reader.cpp
62 SRCS+= lib/Core/Reproduce.cpp
63 SRCS+= lib/Core/Resolver.cpp
64 SRCS+= lib/Core/SymbolTable.cpp
65 SRCS+= lib/Core/TargetOptionsCommandFlags.cpp
66 SRCS+= tools/lld/lld.cpp
68 .include "${SRCTOP}/lib/clang/llvm.build.mk"
72 .for lib in ${LIBDEPS}
73 DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a
74 LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a
77 LLVM_TBLGEN?= llvm-tblgen
78 ELF/Options.inc: ${LLD_SRCS}/ELF/Options.td
79 ${LLVM_TBLGEN} -gen-opt-parser-defs \
80 -I ${LLVM_SRCS}/include \
81 -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
82 ${LLVM_SRCS}/tools/lld/ELF/Options.td
83 TGHDRS+= ELF/Options.inc
86 CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/}
92 .include <bsd.prog.mk>