clang.build.mk revision 221345
1208963Srdivacky# $FreeBSD: head/lib/clang/clang.build.mk 221345 2011-05-02 21:04:37Z dim $ 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 20210388Srpaulo.ifndef LLVM_REQUIRES_EH 21215324SdimCXXFLAGS+=-fno-exceptions 22210388Srpaulo.else 23210388Srpaulo# If the library or program requires EH, it also requires RTTI. 24210388SrpauloLLVM_REQUIRES_RTTI= 25210388Srpaulo.endif 26210388Srpaulo 27210388Srpaulo.ifndef LLVM_REQUIRES_RTTI 28215324SdimCXXFLAGS+=-fno-rtti 29210388Srpaulo.endif 30210388Srpaulo 31211573Srpaulo.ifdef TOOLS_PREFIX 32211573SrpauloCFLAGS+=-DCLANG_PREFIX=\"${TOOLS_PREFIX}\" 33211573Srpaulo.endif 34211573Srpaulo 35208963Srdivacky.PATH: ${LLVM_SRCS}/${SRCDIR} 36208963Srdivacky 37208963SrdivackyTBLGEN=tblgen ${CFLAGS:M-I*} 38208963Srdivacky 39208963SrdivackyIntrinsics.inc.h: ${LLVM_SRCS}/include/llvm/Intrinsics.td 40208963Srdivacky ${TBLGEN} -gen-intrinsic \ 41218893Sdim ${LLVM_SRCS}/include/llvm/Intrinsics.td > ${.TARGET} 42208963Srdivacky.for arch in \ 43208963Srdivacky ARM/ARM Mips/Mips PowerPC/PPC X86/X86 44208963Srdivacky. for hdr in \ 45208963Srdivacky AsmMatcher/-gen-asm-matcher \ 46208963Srdivacky AsmWriter1/-gen-asm-writer,-asmwriternum=1 \ 47208963Srdivacky AsmWriter/-gen-asm-writer \ 48208963Srdivacky CallingConv/-gen-callingconv \ 49208963Srdivacky CodeEmitter/-gen-emitter \ 50208963Srdivacky DAGISel/-gen-dag-isel \ 51212904Sdim DisassemblerTables/-gen-disassembler \ 52212904Sdim EDInfo/-gen-enhanced-disassembly-info \ 53208963Srdivacky FastISel/-gen-fast-isel \ 54208963Srdivacky InstrInfo/-gen-instr-desc \ 55208963Srdivacky InstrNames/-gen-instr-enums \ 56218893Sdim MCCodeEmitter/-gen-emitter,-mc-emitter \ 57208963Srdivacky RegisterInfo.h/-gen-register-desc-header \ 58208963Srdivacky RegisterInfo/-gen-register-desc \ 59208963Srdivacky RegisterNames/-gen-register-enums \ 60208963Srdivacky Subtarget/-gen-subtarget 61208963Srdivacky${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td 62208963Srdivacky ${TBLGEN} ${hdr:T:C/,/ /g} \ 63218893Sdim ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td > ${.TARGET} 64208963Srdivacky. endfor 65208963Srdivacky.endfor 66208963Srdivacky 67218893SdimARMGenDecoderTables.inc.h: ${LLVM_SRCS}/lib/Target/ARM/ARM.td 68218893Sdim ${TBLGEN} -gen-arm-decoder ${.ALLSRC} > ${.TARGET} 69218893Sdim 70210299SedAttrs.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 71218893Sdim ${TBLGEN} -gen-clang-attr-classes ${.ALLSRC} > ${.TARGET} 72210299Sed 73212904SdimAttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 74218893Sdim ${TBLGEN} -gen-clang-attr-impl ${.ALLSRC} > ${.TARGET} 75212904Sdim 76210299SedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 77218893Sdim ${TBLGEN} -gen-clang-attr-list ${.ALLSRC} > ${.TARGET} 78210299Sed 79212904SdimAttrPCHRead.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 80218893Sdim ${TBLGEN} -gen-clang-attr-pch-read ${.ALLSRC} > ${.TARGET} 81212904Sdim 82212904SdimAttrPCHWrite.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 83218893Sdim ${TBLGEN} -gen-clang-attr-pch-write ${.ALLSRC} > ${.TARGET} 84212904Sdim 85218893SdimAttrSpellings.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 86218893Sdim ${TBLGEN} -gen-clang-attr-spelling-list ${.ALLSRC} > ${.TARGET} 87218893Sdim 88210299SedDeclNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td 89218893Sdim ${TBLGEN} -gen-clang-decl-nodes ${.ALLSRC} > ${.TARGET} 90210299Sed 91210299SedStmtNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td 92218893Sdim ${TBLGEN} -gen-clang-stmt-nodes ${.ALLSRC} > ${.TARGET} 93210299Sed 94210299Sedarm_neon.inc.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 95218893Sdim ${TBLGEN} -gen-arm-neon-sema ${.ALLSRC} > ${.TARGET} 96210299Sed 97208963SrdivackyDiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 98218893Sdim ${TBLGEN} -gen-clang-diag-groups -I${CLANG_SRCS}/include/clang/Basic \ 99221345Sdim ${.ALLSRC} > ${.TARGET} 100221345Sdim 101221345SdimDiagnosticIndexName.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 102221345Sdim ${TBLGEN} -gen-clang-diags-index-name \ 103221345Sdim -I${CLANG_SRCS}/include/clang/Basic ${.ALLSRC} > ${.TARGET} 104221345Sdim 105208963Srdivacky.for hdr in AST Analysis Common Driver Frontend Lex Parse Sema 106208963SrdivackyDiagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 107218893Sdim ${TBLGEN} -gen-clang-diags-defs -clang-component=${hdr} \ 108221345Sdim -I${CLANG_SRCS}/include/clang/Basic ${.ALLSRC} > ${.TARGET} 109208963Srdivacky.endfor 110221345Sdim 111210299SedOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td 112218893Sdim ${TBLGEN} -gen-opt-parser-defs -I${CLANG_SRCS}/include/clang/Driver \ 113221345Sdim ${.ALLSRC} > ${.TARGET} 114210299Sed 115208963SrdivackyCC1Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1Options.td 116218893Sdim ${TBLGEN} -gen-opt-parser-defs -I${CLANG_SRCS}/include/clang/Driver \ 117221345Sdim ${.ALLSRC} > ${.TARGET} 118210299Sed 119210299SedCC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td 120218893Sdim ${TBLGEN} -gen-opt-parser-defs -I${CLANG_SRCS}/include/clang/Driver \ 121221345Sdim ${.ALLSRC} > ${.TARGET} 122208963Srdivacky 123218893SdimCheckers.inc.h: ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td \ 124218893Sdim ${CLANG_SRCS}/include/clang/StaticAnalyzer/Checkers/CheckerBase.td 125218893Sdim ${TBLGEN} -gen-clang-sa-checkers -I${CLANG_SRCS}/include \ 126218893Sdim ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td > ${.TARGET} 127218893Sdim 128208963SrdivackySRCS+= ${TGHDRS:C/$/.inc.h/} 129208963SrdivackyDPADD+= ${TGHDRS:C/$/.inc.h/} 130208963SrdivackyCLEANFILES+= ${TGHDRS:C/$/.inc.h/} 131