Makefile revision 310618
1# $FreeBSD: stable/11/usr.bin/clang/lld/Makefile 310618 2016-12-26 20:36:37Z dim $
2
3LLVM_SRCS=	${SRCTOP}/contrib/llvm
4LLD_SRCS=	${LLVM_SRCS}/tools/lld
5
6PACKAGE=	lld
7PROG_CXX=	ld.lld
8MAN=
9
10CFLAGS+=	-I${LLD_SRCS}/include
11CFLAGS+=	-I${.OBJDIR}
12CFLAGS+=	-I${.OBJDIR}/../../../lib/clang/libllvm
13
14SRCDIR=		tools/lld
15SRCS+=		ELF/Driver.cpp
16SRCS+=		ELF/DriverUtils.cpp
17SRCS+=		ELF/EhFrame.cpp
18SRCS+=		ELF/Error.cpp
19SRCS+=		ELF/ICF.cpp
20SRCS+=		ELF/InputFiles.cpp
21SRCS+=		ELF/InputSection.cpp
22SRCS+=		ELF/LinkerScript.cpp
23SRCS+=		ELF/LTO.cpp
24SRCS+=		ELF/MarkLive.cpp
25SRCS+=		ELF/OutputSections.cpp
26SRCS+=		ELF/Relocations.cpp
27SRCS+=		ELF/ScriptParser.cpp
28SRCS+=		ELF/Strings.cpp
29SRCS+=		ELF/SymbolListFile.cpp
30SRCS+=		ELF/SymbolTable.cpp
31SRCS+=		ELF/Symbols.cpp
32SRCS+=		ELF/Target.cpp
33SRCS+=		ELF/Thunks.cpp
34SRCS+=		ELF/Writer.cpp
35SRCS+=		lib/Config/Version.cpp
36SRCS+=		lib/Core/DefinedAtom.cpp
37SRCS+=		lib/Core/Error.cpp
38SRCS+=		lib/Core/File.cpp
39SRCS+=		lib/Core/LinkingContext.cpp
40SRCS+=		lib/Core/Reader.cpp
41SRCS+=		lib/Core/Resolver.cpp
42SRCS+=		lib/Core/SymbolTable.cpp
43SRCS+=		lib/Core/Writer.cpp
44SRCS+=		tools/lld/lld.cpp
45
46.include "${SRCTOP}/lib/clang/llvm.build.mk"
47
48LIBDEPS+=	llvm
49
50.for lib in ${LIBDEPS}
51DPADD+=		${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a
52LDADD+=		${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a
53.endfor
54
55LLVM_TBLGEN?=	llvm-tblgen
56ELF/Options.inc: ${LLD_SRCS}/ELF/Options.td
57	${LLVM_TBLGEN} -gen-opt-parser-defs \
58	    -I ${LLVM_SRCS}/include \
59	    -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \
60	    ${LLVM_SRCS}/tools/lld/ELF/Options.td
61TGHDRS+=	ELF/Options.inc
62
63DPSRCS+=	${TGHDRS}
64CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
65
66LIBADD+=	ncursesw
67LIBADD+=	pthread
68LIBADD+=	z
69
70.include <bsd.prog.mk>
71