clang.build.mk revision 208963
1# $FreeBSD: head/lib/clang/clang.build.mk 208963 2010-06-09 19:32:20Z rdivacky $
2
3CLANG_SRCS=${LLVM_SRCS}/tools/clang
4
5CFLAGS+=-I${LLVM_SRCS}/include -I${CLANG_SRCS}/include \
6	-I${LLVM_SRCS}/${SRCDIR} ${INCDIR:C/^/-I${LLVM_SRCS}\//} -I. \
7	-I${LLVM_SRCS}/../../lib/clang/include \
8	-DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \
9	-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS #-DNDEBUG
10
11TARGET_ARCH?=	${MACHINE_ARCH}
12# XXX: 8.0, to keep __FreeBSD_cc_version happy
13CFLAGS+=-DLLVM_HOSTTRIPLE=\"${TARGET_ARCH}-undermydesk-freebsd9.0\"
14
15.PATH:	${LLVM_SRCS}/${SRCDIR}
16
17TBLGEN=tblgen ${CFLAGS:M-I*}
18
19Intrinsics.inc.h: ${LLVM_SRCS}/include/llvm/Intrinsics.td
20	${TBLGEN} -gen-intrinsic \
21		${LLVM_SRCS}/include/llvm/Intrinsics.td > ${.TARGET}
22.for arch in \
23	ARM/ARM Mips/Mips PowerPC/PPC X86/X86
24. for hdr in \
25	AsmMatcher/-gen-asm-matcher \
26	AsmWriter1/-gen-asm-writer,-asmwriternum=1 \
27	AsmWriter/-gen-asm-writer \
28	CallingConv/-gen-callingconv \
29	CodeEmitter/-gen-emitter \
30	DAGISel/-gen-dag-isel \
31	FastISel/-gen-fast-isel \
32	InstrInfo/-gen-instr-desc \
33	InstrNames/-gen-instr-enums \
34	RegisterInfo.h/-gen-register-desc-header \
35	RegisterInfo/-gen-register-desc \
36	RegisterNames/-gen-register-enums \
37	Subtarget/-gen-subtarget
38${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td
39	${TBLGEN} ${hdr:T:C/,/ /g} \
40		${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td > ${.TARGET}
41. endfor
42.endfor
43
44DiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
45	${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \
46		-gen-clang-diag-groups \
47		${CLANG_SRCS}/include/clang/Basic/Diagnostic.td > ${.TARGET}
48.for hdr in AST Analysis Common Driver Frontend Lex Parse Sema
49Diagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
50	${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \
51		-gen-clang-diags-defs -clang-component=${hdr} \
52		${CLANG_SRCS}/include/clang/Basic/Diagnostic.td > ${.TARGET}
53.endfor
54CC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td
55	${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \
56	   -gen-opt-parser-defs \
57	   ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td > ${.TARGET}
58CC1Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1Options.td
59	${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \
60	   -gen-opt-parser-defs \
61	   ${CLANG_SRCS}/include/clang/Driver/CC1Options.td > ${.TARGET}
62Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td
63	${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \
64	   -gen-opt-parser-defs \
65	   ${CLANG_SRCS}/include/clang/Driver/Options.td > ${.TARGET}
66StmtNodes.inc.h: ${CLANG_SRCS}/include/clang/AST/StmtNodes.td
67	${TBLGEN} -I${CLANG_SRCS}/include/clang/AST \
68		-gen-clang-stmt-nodes \
69		${CLANG_SRCS}/include/clang/AST/StmtNodes.td > ${.TARGET}
70
71SRCS+=		${TGHDRS:C/$/.inc.h/}
72DPADD+=		${TGHDRS:C/$/.inc.h/}
73CLEANFILES+=	${TGHDRS:C/$/.inc.h/}
74