clang.build.mk revision 209107
1# $FreeBSD: head/lib/clang/clang.build.mk 209107 2010-06-12 15:13:36Z ed $
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	-DCLANG_VENDOR=\"FreeBSD\ \" -DSVN_REVISION=\"104832\" \
15	-DCLANG_VENDOR_SUFFIX=\"\ 20100612\"
16
17.PATH:	${LLVM_SRCS}/${SRCDIR}
18
19TBLGEN=tblgen ${CFLAGS:M-I*}
20
21Intrinsics.inc.h: ${LLVM_SRCS}/include/llvm/Intrinsics.td
22	${TBLGEN} -gen-intrinsic \
23		${LLVM_SRCS}/include/llvm/Intrinsics.td > ${.TARGET}
24.for arch in \
25	ARM/ARM Mips/Mips PowerPC/PPC X86/X86
26. for hdr in \
27	AsmMatcher/-gen-asm-matcher \
28	AsmWriter1/-gen-asm-writer,-asmwriternum=1 \
29	AsmWriter/-gen-asm-writer \
30	CallingConv/-gen-callingconv \
31	CodeEmitter/-gen-emitter \
32	DAGISel/-gen-dag-isel \
33	FastISel/-gen-fast-isel \
34	InstrInfo/-gen-instr-desc \
35	InstrNames/-gen-instr-enums \
36	RegisterInfo.h/-gen-register-desc-header \
37	RegisterInfo/-gen-register-desc \
38	RegisterNames/-gen-register-enums \
39	Subtarget/-gen-subtarget
40${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td
41	${TBLGEN} ${hdr:T:C/,/ /g} \
42		${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td > ${.TARGET}
43. endfor
44.endfor
45
46DiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
47	${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \
48		-gen-clang-diag-groups \
49		${CLANG_SRCS}/include/clang/Basic/Diagnostic.td > ${.TARGET}
50.for hdr in AST Analysis Common Driver Frontend Lex Parse Sema
51Diagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
52	${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \
53		-gen-clang-diags-defs -clang-component=${hdr} \
54		${CLANG_SRCS}/include/clang/Basic/Diagnostic.td > ${.TARGET}
55.endfor
56CC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td
57	${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \
58	   -gen-opt-parser-defs \
59	   ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td > ${.TARGET}
60CC1Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1Options.td
61	${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \
62	   -gen-opt-parser-defs \
63	   ${CLANG_SRCS}/include/clang/Driver/CC1Options.td > ${.TARGET}
64Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td
65	${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \
66	   -gen-opt-parser-defs \
67	   ${CLANG_SRCS}/include/clang/Driver/Options.td > ${.TARGET}
68StmtNodes.inc.h: ${CLANG_SRCS}/include/clang/AST/StmtNodes.td
69	${TBLGEN} -I${CLANG_SRCS}/include/clang/AST \
70		-gen-clang-stmt-nodes \
71		${CLANG_SRCS}/include/clang/AST/StmtNodes.td > ${.TARGET}
72
73SRCS+=		${TGHDRS:C/$/.inc.h/}
74DPADD+=		${TGHDRS:C/$/.inc.h/}
75CLEANFILES+=	${TGHDRS:C/$/.inc.h/}
76