clang.build.mk revision 212904
1208963Srdivacky# $FreeBSD: head/lib/clang/clang.build.mk 212904 2010-09-20 16:43:17Z 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 21210388SrpauloCFLAGS+=-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 28210388SrpauloCFLAGS+=-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 \ 41208963Srdivacky ${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 \ 56208963Srdivacky RegisterInfo.h/-gen-register-desc-header \ 57208963Srdivacky RegisterInfo/-gen-register-desc \ 58208963Srdivacky RegisterNames/-gen-register-enums \ 59208963Srdivacky Subtarget/-gen-subtarget 60208963Srdivacky${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td 61208963Srdivacky ${TBLGEN} ${hdr:T:C/,/ /g} \ 62208963Srdivacky ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td > ${.TARGET} 63208963Srdivacky. endfor 64208963Srdivacky.endfor 65208963Srdivacky 66210299SedAttrs.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 67210299Sed ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 68210299Sed -gen-clang-attr-classes ${.ALLSRC} > ${.TARGET} 69210299Sed 70212904SdimAttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 71212904Sdim ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 72212904Sdim -gen-clang-attr-impl ${.ALLSRC} > ${.TARGET} 73212904Sdim 74210299SedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 75210299Sed ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 76210299Sed -gen-clang-attr-list ${.ALLSRC} > ${.TARGET} 77210299Sed 78212904SdimAttrPCHRead.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 79212904Sdim ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 80212904Sdim -gen-clang-attr-pch-read ${.ALLSRC} > ${.TARGET} 81212904Sdim 82212904SdimAttrPCHWrite.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 83212904Sdim ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 84212904Sdim -gen-clang-attr-pch-write ${.ALLSRC} > ${.TARGET} 85212904Sdim 86210299SedDeclNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td 87210299Sed ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 88210299Sed -gen-clang-decl-nodes ${.ALLSRC} > ${.TARGET} 89210299Sed 90210299SedStmtNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td 91212904Sdim ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 92210299Sed -gen-clang-stmt-nodes ${.ALLSRC} > ${.TARGET} 93210299Sed 94210299Sedarm_neon.inc.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 95210299Sed ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 96210299Sed -gen-arm-neon-sema ${.ALLSRC} > ${.TARGET} 97210299Sed 98208963SrdivackyDiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 99208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 100208963Srdivacky -gen-clang-diag-groups \ 101208963Srdivacky ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td > ${.TARGET} 102208963Srdivacky.for hdr in AST Analysis Common Driver Frontend Lex Parse Sema 103208963SrdivackyDiagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 104208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Basic \ 105208963Srdivacky -gen-clang-diags-defs -clang-component=${hdr} \ 106208963Srdivacky ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td > ${.TARGET} 107208963Srdivacky.endfor 108210299SedOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td 109208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \ 110208963Srdivacky -gen-opt-parser-defs \ 111210299Sed ${CLANG_SRCS}/include/clang/Driver/Options.td > ${.TARGET} 112210299Sed 113208963SrdivackyCC1Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1Options.td 114208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \ 115208963Srdivacky -gen-opt-parser-defs \ 116208963Srdivacky ${CLANG_SRCS}/include/clang/Driver/CC1Options.td > ${.TARGET} 117210299Sed 118210299SedCC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td 119208963Srdivacky ${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \ 120208963Srdivacky -gen-opt-parser-defs \ 121210299Sed ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td > ${.TARGET} 122208963Srdivacky 123208963SrdivackySRCS+= ${TGHDRS:C/$/.inc.h/} 124208963SrdivackyDPADD+= ${TGHDRS:C/$/.inc.h/} 125208963SrdivackyCLEANFILES+= ${TGHDRS:C/$/.inc.h/} 126