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
15 CFLAGS+= -I${LLD_SRCS}/ELF
16 CFLAGS+= -I${LLD_SRCS}/include
18 CFLAGS+= -I${OBJTOP}/lib/clang/libllvm
21 SRCS+= ELF/Arch/AArch64.cpp
22 SRCS+= ELF/Arch/AMDGPU.cpp
23 SRCS+= ELF/Arch/ARM.cpp
24 SRCS+= ELF/Arch/AVR.cpp
25 SRCS+= ELF/Arch/Mips.cpp
26 SRCS+= ELF/Arch/PPC.cpp
27 SRCS+= ELF/Arch/PPC64.cpp
28 SRCS+= ELF/Arch/X86.cpp
29 SRCS+= ELF/Arch/X86_64.cpp
31 SRCS+= ELF/DriverUtils.cpp
32 SRCS+= ELF/EhFrame.cpp
34 SRCS+= ELF/Filesystem.cpp
35 SRCS+= ELF/GdbIndex.cpp
37 SRCS+= ELF/InputFiles.cpp
38 SRCS+= ELF/InputSection.cpp
40 SRCS+= ELF/LinkerScript.cpp
41 SRCS+= ELF/MapFile.cpp
42 SRCS+= ELF/MarkLive.cpp
44 SRCS+= ELF/OutputSections.cpp
45 SRCS+= ELF/Relocations.cpp
46 SRCS+= ELF/ScriptLexer.cpp
47 SRCS+= ELF/ScriptParser.cpp
48 SRCS+= ELF/Strings.cpp
49 SRCS+= ELF/SymbolTable.cpp
50 SRCS+= ELF/Symbols.cpp
51 SRCS+= ELF/SyntheticSections.cpp
55 SRCS+= lib/Config/Version.cpp
56 SRCS+= lib/Core/Error.cpp
57 SRCS+= lib/Core/File.cpp
58 SRCS+= lib/Core/LinkingContext.cpp
59 SRCS+= lib/Core/Reader.cpp
60 SRCS+= lib/Core/Reproduce.cpp
61 SRCS+= lib/Core/Resolver.cpp
62 SRCS+= lib/Core/SymbolTable.cpp
63 SRCS+= lib/Core/TargetOptionsCommandFlags.cpp
64 SRCS+= tools/lld/lld.cpp
66 .include "${SRCTOP}/lib/clang/llvm.build.mk"
70 .for lib in ${LIBDEPS}
71 DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a
72 LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a
75 LLVM_TBLGEN?= llvm-tblgen
76 ELF/Options.inc: ${LLD_SRCS}/ELF/Options.td
77 ${LLVM_TBLGEN} -gen-opt-parser-defs \
78 -I ${LLVM_SRCS}/include \
79 -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
80 ${LLVM_SRCS}/tools/lld/ELF/Options.td
81 TGHDRS+= ELF/Options.inc
84 CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/}
90 .include <bsd.prog.mk>