clang.build.mk revision 234353
1208963Srdivacky# $FreeBSD: head/lib/clang/clang.build.mk 234353 2012-04-16 21:23:25Z 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 11229169Snwhitehorn# LLVM is not strict aliasing safe as of 12/31/2011 12229169SnwhitehornCFLAGS+= -fno-strict-aliasing 13209153Sed 14208963SrdivackyTARGET_ARCH?= ${MACHINE_ARCH} 15234353SdimCFLAGS+=-DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_ARCH:C/amd64/x86_64/}-unknown-freebsd10.0\" 16208963Srdivacky 17210388Srpaulo.ifndef LLVM_REQUIRES_EH 18215324SdimCXXFLAGS+=-fno-exceptions 19210388Srpaulo.else 20210388Srpaulo# If the library or program requires EH, it also requires RTTI. 21210388SrpauloLLVM_REQUIRES_RTTI= 22210388Srpaulo.endif 23210388Srpaulo 24210388Srpaulo.ifndef LLVM_REQUIRES_RTTI 25215324SdimCXXFLAGS+=-fno-rtti 26210388Srpaulo.endif 27210388Srpaulo 28211573Srpaulo.ifdef TOOLS_PREFIX 29211573SrpauloCFLAGS+=-DCLANG_PREFIX=\"${TOOLS_PREFIX}\" 30211573Srpaulo.endif 31211573Srpaulo 32208963Srdivacky.PATH: ${LLVM_SRCS}/${SRCDIR} 33208963Srdivacky 34224145SdimTBLGEN?=tblgen 35226633SdimCLANG_TBLGEN?=clang-tblgen 36224145SdimTBLINC+=-I ${LLVM_SRCS}/include -I ${LLVM_SRCS}/lib/Target 37208963Srdivacky 38208963SrdivackyIntrinsics.inc.h: ${LLVM_SRCS}/include/llvm/Intrinsics.td 39224145Sdim ${TBLGEN} -I ${LLVM_SRCS}/lib/VMCore ${TBLINC} -gen-intrinsic \ 40224145Sdim -o ${.TARGET} ${LLVM_SRCS}/include/llvm/Intrinsics.td 41208963Srdivacky.for arch in \ 42208963Srdivacky ARM/ARM Mips/Mips PowerPC/PPC X86/X86 43208963Srdivacky. for hdr in \ 44208963Srdivacky AsmMatcher/-gen-asm-matcher \ 45208963Srdivacky AsmWriter1/-gen-asm-writer,-asmwriternum=1 \ 46208963Srdivacky AsmWriter/-gen-asm-writer \ 47208963Srdivacky CallingConv/-gen-callingconv \ 48208963Srdivacky CodeEmitter/-gen-emitter \ 49208963Srdivacky DAGISel/-gen-dag-isel \ 50212904Sdim DisassemblerTables/-gen-disassembler \ 51212904Sdim EDInfo/-gen-enhanced-disassembly-info \ 52208963Srdivacky FastISel/-gen-fast-isel \ 53224145Sdim InstrInfo/-gen-instr-info \ 54218893Sdim MCCodeEmitter/-gen-emitter,-mc-emitter \ 55224145Sdim MCPseudoLowering/-gen-pseudo-lowering \ 56224145Sdim RegisterInfo/-gen-register-info \ 57224145Sdim SubtargetInfo/-gen-subtarget 58208963Srdivacky${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td 59224145Sdim ${TBLGEN} -I ${LLVM_SRCS}/lib/Target/${arch:H} ${TBLINC} \ 60224145Sdim ${hdr:T:C/,/ /g} -o ${.TARGET} \ 61224145Sdim ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td 62208963Srdivacky. endfor 63208963Srdivacky.endfor 64208963Srdivacky 65210299SedAttrs.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 66226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/AST ${TBLINC} \ 67224145Sdim -gen-clang-attr-classes -o ${.TARGET} \ 68224145Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 69210299Sed 70212904SdimAttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 71226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/AST ${TBLINC} \ 72224145Sdim -gen-clang-attr-impl -o ${.TARGET} \ 73224145Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 74212904Sdim 75226633SdimAttrLateParsed.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 76226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic ${TBLINC} \ 77226633Sdim -gen-clang-attr-late-parsed-list -o ${.TARGET} \ 78226633Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 79226633Sdim 80210299SedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 81226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic ${TBLINC} \ 82224145Sdim -gen-clang-attr-list -o ${.TARGET} \ 83224145Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 84210299Sed 85234353SdimAttrParsedAttrKinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 86234353Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic ${TBLINC} \ 87234353Sdim -gen-clang-attr-parsed-attr-kinds -o ${.TARGET} \ 88234353Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 89234353Sdim 90234353SdimAttrParsedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 91234353Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic ${TBLINC} \ 92234353Sdim -gen-clang-attr-parsed-attr-list -o ${.TARGET} \ 93234353Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 94234353Sdim 95212904SdimAttrPCHRead.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 96226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Serialization \ 97224145Sdim ${TBLINC} -gen-clang-attr-pch-read -o ${.TARGET} \ 98224145Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 99212904Sdim 100212904SdimAttrPCHWrite.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 101226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Serialization \ 102224145Sdim ${TBLINC} -gen-clang-attr-pch-write -o ${.TARGET} \ 103224145Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 104212904Sdim 105218893SdimAttrSpellings.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 106226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Lex ${TBLINC} \ 107224145Sdim -gen-clang-attr-spelling-list -o ${.TARGET} \ 108224145Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 109218893Sdim 110234353SdimAttrTemplateInstantiate.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 111234353Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic ${TBLINC} \ 112234353Sdim -gen-clang-attr-template-instantiate -o ${.TARGET} \ 113234353Sdim -I ${CLANG_SRCS}/include ${.ALLSRC} 114234353Sdim 115210299SedDeclNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td 116226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/AST ${TBLINC} \ 117224145Sdim -gen-clang-decl-nodes -o ${.TARGET} ${.ALLSRC} 118210299Sed 119210299SedStmtNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td 120226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/AST ${TBLINC} \ 121224145Sdim -gen-clang-stmt-nodes -o ${.TARGET} ${.ALLSRC} 122210299Sed 123210299Sedarm_neon.inc.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 124226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic ${TBLINC} \ 125224145Sdim -gen-arm-neon-sema -o ${.TARGET} ${.ALLSRC} 126210299Sed 127208963SrdivackyDiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 128226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic ${TBLINC} \ 129224145Sdim -gen-clang-diag-groups -o ${.TARGET} ${.ALLSRC} 130221345Sdim 131221345SdimDiagnosticIndexName.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 132226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic ${TBLINC} \ 133224145Sdim -gen-clang-diags-index-name -o ${.TARGET} ${.ALLSRC} 134221345Sdim 135234353Sdim.for hdr in AST Analysis Common Driver Frontend Lex Parse Sema Serialization 136208963SrdivackyDiagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 137226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic ${TBLINC} \ 138224145Sdim -gen-clang-diags-defs -clang-component=${hdr} \ 139224145Sdim -o ${.TARGET} ${.ALLSRC} 140208963Srdivacky.endfor 141221345Sdim 142210299SedOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td 143226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Driver ${TBLINC} \ 144224145Sdim -gen-opt-parser-defs -o ${.TARGET} ${.ALLSRC} 145210299Sed 146208963SrdivackyCC1Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1Options.td 147226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Driver ${TBLINC} \ 148224145Sdim -gen-opt-parser-defs -o ${.TARGET} ${.ALLSRC} 149210299Sed 150210299SedCC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td 151226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Driver ${TBLINC} \ 152224145Sdim -gen-opt-parser-defs -o ${.TARGET} ${.ALLSRC} 153208963Srdivacky 154218893SdimCheckers.inc.h: ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td \ 155218893Sdim ${CLANG_SRCS}/include/clang/StaticAnalyzer/Checkers/CheckerBase.td 156226633Sdim ${CLANG_TBLGEN} -I ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers \ 157224145Sdim ${TBLINC} -gen-clang-sa-checkers -o ${.TARGET} \ 158224145Sdim -I ${CLANG_SRCS}/include \ 159224145Sdim ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td 160218893Sdim 161208963SrdivackySRCS+= ${TGHDRS:C/$/.inc.h/} 162208963SrdivackyDPADD+= ${TGHDRS:C/$/.inc.h/} 163208963SrdivackyCLEANFILES+= ${TGHDRS:C/$/.inc.h/} 164