clang.build.mk revision 210299
1208963Srdivacky# $FreeBSD: head/lib/clang/clang.build.mk 210299 2010-07-20 17:16:57Z ed $ 2208963Srdivacky 3208963SrdivackyCLANG_SRCS=${LLVM_SRCS}/tools/clang 4208963Srdivacky 5208963SrdivackyCFLAGS+=-I${LLVM_SRCS}/include -I${CLANG_SRCS}/include \ 6208963Srdivacky -I${LLVM_SRCS}/${SRCDIR} ${INCDIR:C/^/-I${LLVM_SRCS}\//} -I. \ 7208963Srdivacky -I${LLVM_SRCS}/../../lib/clang/include \ 8208963Srdivacky -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \ 9208963Srdivacky -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS #-DNDEBUG 10208963Srdivacky 11209153Sed# Correct for gcc miscompilation when compiling on PPC with -O2 12209153Sed.if ${MACHINE_ARCH} == "powerpc" 13209153SedCFLAGS+= -O1 14209153Sed.endif 15209153Sed 16208963SrdivackyTARGET_ARCH?= ${MACHINE_ARCH} 17208963Srdivacky# XXX: 8.0, to keep __FreeBSD_cc_version happy 18210299SedCFLAGS+=-DLLVM_HOSTTRIPLE=\"${TARGET_ARCH}-undermydesk-freebsd9.0\" 19208963Srdivacky 20208963Srdivacky.PATH: ${LLVM_SRCS}/${SRCDIR} 21208963Srdivacky 22208963SrdivackyTBLGEN=tblgen ${CFLAGS:M-I*} 23208963Srdivacky 24208963SrdivackyIntrinsics.inc.h: ${LLVM_SRCS}/include/llvm/Intrinsics.td 25208963Srdivacky ${TBLGEN} -gen-intrinsic \ 26208963Srdivacky ${LLVM_SRCS}/include/llvm/Intrinsics.td > ${.TARGET} 27208963Srdivacky.for arch in \ 28208963Srdivacky ARM/ARM Mips/Mips PowerPC/PPC X86/X86 29208963Srdivacky. for hdr in \ 30208963Srdivacky AsmMatcher/-gen-asm-matcher \ 31208963Srdivacky AsmWriter1/-gen-asm-writer,-asmwriternum=1 \ 32208963Srdivacky AsmWriter/-gen-asm-writer \ 33208963Srdivacky CallingConv/-gen-callingconv \ 34208963Srdivacky CodeEmitter/-gen-emitter \ 35208963Srdivacky DAGISel/-gen-dag-isel \ 36208963Srdivacky FastISel/-gen-fast-isel \ 37208963Srdivacky InstrInfo/-gen-instr-desc \ 38208963Srdivacky InstrNames/-gen-instr-enums \ 39208963Srdivacky RegisterInfo.h/-gen-register-desc-header \ 40208963Srdivacky RegisterInfo/-gen-register-desc \ 41208963Srdivacky RegisterNames/-gen-register-enums \ 42208963Srdivacky Subtarget/-gen-subtarget 43208963Srdivacky${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td 44208963Srdivacky ${TBLGEN} ${hdr:T:C/,/ /g} \ 45208963Srdivacky ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td > ${.TARGET} 46208963Srdivacky. endfor 47208963Srdivacky.endfor 48208963Srdivacky 49210299SedAttrs.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 50210299Sed ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 51210299Sed -gen-clang-attr-classes ${.ALLSRC} > ${.TARGET} 52210299Sed 53210299SedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 54210299Sed ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 55210299Sed -gen-clang-attr-list ${.ALLSRC} > ${.TARGET} 56210299Sed 57210299SedDeclNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td 58210299Sed ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 59210299Sed -gen-clang-decl-nodes ${.ALLSRC} > ${.TARGET} 60210299Sed 61210299SedStmtNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td 62210299Sed ${TBLGEN} -I${CLANG_SRCS}/include/clang/AST \ 63210299Sed -gen-clang-stmt-nodes ${.ALLSRC} > ${.TARGET} 64210299Sed 65210299Sedarm_neon.inc.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 66210299Sed ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 67210299Sed -gen-arm-neon-sema ${.ALLSRC} > ${.TARGET} 68210299Sed 69208963SrdivackyDiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 70208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 71208963Srdivacky -gen-clang-diag-groups \ 72208963Srdivacky ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td > ${.TARGET} 73208963Srdivacky.for hdr in AST Analysis Common Driver Frontend Lex Parse Sema 74208963SrdivackyDiagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 75208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 76208963Srdivacky -gen-clang-diags-defs -clang-component=${hdr} \ 77208963Srdivacky ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td > ${.TARGET} 78208963Srdivacky.endfor 79210299SedOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td 80208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \ 81208963Srdivacky -gen-opt-parser-defs \ 82210299Sed ${CLANG_SRCS}/include/clang/Driver/Options.td > ${.TARGET} 83210299Sed 84208963SrdivackyCC1Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1Options.td 85208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \ 86208963Srdivacky -gen-opt-parser-defs \ 87208963Srdivacky ${CLANG_SRCS}/include/clang/Driver/CC1Options.td > ${.TARGET} 88210299Sed 89210299SedCC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td 90208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \ 91208963Srdivacky -gen-opt-parser-defs \ 92210299Sed ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td > ${.TARGET} 93208963Srdivacky 94208963SrdivackySRCS+= ${TGHDRS:C/$/.inc.h/} 95208963SrdivackyDPADD+= ${TGHDRS:C/$/.inc.h/} 96208963SrdivackyCLEANFILES+= ${TGHDRS:C/$/.inc.h/} 97