clang.build.mk revision 263763
142433Sdfr# $FreeBSD: stable/10/lib/clang/clang.build.mk 263763 2014-03-26 07:31:57Z dim $ 242433Sdfr 342433SdfrCLANG_SRCS= ${LLVM_SRCS}/tools/clang 442433Sdfr 542433SdfrCFLAGS+= -I${LLVM_SRCS}/include -I${CLANG_SRCS}/include \ 642433Sdfr -I${LLVM_SRCS}/${SRCDIR} ${INCDIR:C/^/-I${LLVM_SRCS}\//} -I. \ 742433Sdfr -I${LLVM_SRCS}/../../lib/clang/include \ 842433Sdfr -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \ 942433Sdfr -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DNDEBUG 1042433Sdfr 1142433Sdfr.if !defined(EARLY_BUILD) && defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no" 1242433SdfrCFLAGS+= -DCLANG_ENABLE_ARCMT \ 1342433Sdfr -DCLANG_ENABLE_REWRITER \ 1442433Sdfr -DCLANG_ENABLE_STATIC_ANALYZER 1542433Sdfr.endif # !EARLY_BUILD && MK_CLANG_FULL 1642433Sdfr 1742433Sdfr# LLVM is not strict aliasing safe as of 12/31/2011 1842433SdfrCFLAGS+= -fno-strict-aliasing 1942433Sdfr 2042433SdfrTARGET_ARCH?= ${MACHINE_ARCH} 2142433SdfrBUILD_ARCH?= ${MACHINE_ARCH} 2242433Sdfr 2342433Sdfr.if (${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "armv6") && \ 2442433Sdfr ${MK_ARM_EABI} != "no" 2542433SdfrTARGET_ABI= gnueabi 2642433Sdfr.else 27116182SobrienTARGET_ABI= unknown 28116182Sobrien.endif 29116182Sobrien 3042433SdfrTARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd10.0 3142433SdfrBUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/}-unknown-freebsd10.0 3242433SdfrCFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \ 3342433Sdfr -DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \ 3492547Sarr -DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\" 3592547SarrCXXFLAGS+= -fno-exceptions -fno-rtti 3692547Sarr 3742433Sdfr.PATH: ${LLVM_SRCS}/${SRCDIR} 3842433Sdfr 3942756SpeterTBLGEN?= tblgen 4042756SpeterCLANG_TBLGEN?= clang-tblgen 4142756Speter 4242756SpeterIntrinsics.inc.h: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td \ 4342756Speter ${LLVM_SRCS}/include/llvm/IR/IntrinsicsARM.td \ 4442756Speter ${LLVM_SRCS}/include/llvm/IR/IntrinsicsHexagon.td \ 4542433Sdfr ${LLVM_SRCS}/include/llvm/IR/IntrinsicsMips.td \ 4683366Sjulian ${LLVM_SRCS}/include/llvm/IR/IntrinsicsNVVM.td \ 4742756Speter ${LLVM_SRCS}/include/llvm/IR/IntrinsicsPowerPC.td \ 4883366Sjulian ${LLVM_SRCS}/include/llvm/IR/IntrinsicsR600.td \ 4942756Speter ${LLVM_SRCS}/include/llvm/IR/IntrinsicsX86.td \ 5042756Speter ${LLVM_SRCS}/include/llvm/IR/IntrinsicsXCore.td 5142756Speter ${TBLGEN} -I ${LLVM_SRCS}/include \ 5283366Sjulian -gen-intrinsic -o ${.TARGET} \ 5369449Salfred ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td 5483366Sjulian.for arch in \ 5569449Salfred ARM/ARM Mips/Mips PowerPC/PPC Sparc/Sparc X86/X86 5669449Salfred. for hdr in \ 5769449Salfred AsmMatcher/-gen-asm-matcher \ 5842433Sdfr AsmWriter1/-gen-asm-writer,-asmwriternum=1 \ 5942433Sdfr AsmWriter/-gen-asm-writer \ 6042433Sdfr CallingConv/-gen-callingconv \ 6142433Sdfr CodeEmitter/-gen-emitter \ 6242433Sdfr DAGISel/-gen-dag-isel \ 6342433Sdfr DisassemblerTables/-gen-disassembler \ 6442433Sdfr FastISel/-gen-fast-isel \ 6542433Sdfr InstrInfo/-gen-instr-info \ 6642433Sdfr MCCodeEmitter/-gen-emitter,-mc-emitter \ 6742433Sdfr MCPseudoLowering/-gen-pseudo-lowering \ 6842433Sdfr RegisterInfo/-gen-register-info \ 6942433Sdfr SubtargetInfo/-gen-subtarget 7042433Sdfr${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td 7142433Sdfr ${TBLGEN} -I ${LLVM_SRCS}/include -I ${LLVM_SRCS}/lib/Target/${arch:H} \ 7269449Salfred ${hdr:T:C/,/ /g} -o ${.TARGET} \ 7369449Salfred ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td 7442433Sdfr. endfor 7542433Sdfr.endfor 7642433Sdfr 7742433SdfrAttrs.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 7842433Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 7942433Sdfr -gen-clang-attr-classes -o ${.TARGET} ${.ALLSRC} 8042433Sdfr 8142433SdfrAttrDump.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 8242433Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 8342433Sdfr -gen-clang-attr-dump -o ${.TARGET} ${.ALLSRC} 8442433Sdfr 8542433SdfrAttrIdentifierArg.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 8642433Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 8742433Sdfr -gen-clang-attr-identifier-arg-list -o ${.TARGET} ${.ALLSRC} 8842433Sdfr 8942433SdfrAttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 9042433Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 9142433Sdfr -gen-clang-attr-impl -o ${.TARGET} ${.ALLSRC} 9242433Sdfr 9342435SdfrAttrLateParsed.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 9442433Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 9542433Sdfr -gen-clang-attr-late-parsed-list -o ${.TARGET} ${.ALLSRC} 9642433Sdfr 9742433SdfrAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 9842433Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 9942433Sdfr -gen-clang-attr-list -o ${.TARGET} ${.ALLSRC} 10042433Sdfr 10142433SdfrAttrParsedAttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 10242435Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 10392547Sarr -gen-clang-attr-parsed-attr-impl -o ${.TARGET} ${.ALLSRC} 10442435Sdfr 10592547SarrAttrParsedAttrKinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 10648269Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 10748269Sdfr -gen-clang-attr-parsed-attr-kinds -o ${.TARGET} ${.ALLSRC} 10848269Sdfr 10948269SdfrAttrParsedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 11042433Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 11148269Sdfr -gen-clang-attr-parsed-attr-list -o ${.TARGET} ${.ALLSRC} 11248269Sdfr 11348269SdfrAttrPCHRead.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 11448269Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 11548269Sdfr -gen-clang-attr-pch-read -o ${.TARGET} ${.ALLSRC} 11642433Sdfr 11748269SdfrAttrPCHWrite.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 11842433Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 11948269Sdfr -gen-clang-attr-pch-write -o ${.TARGET} ${.ALLSRC} 12042433Sdfr 12142433SdfrAttrSpellings.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 12242433Sdfr ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 12342433Sdfr -gen-clang-attr-spelling-list -o ${.TARGET} ${.ALLSRC} 12442433Sdfr 125AttrSpellingListIndex.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 126 ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 127 -gen-clang-attr-spelling-index -o ${.TARGET} ${.ALLSRC} 128 129AttrTemplateInstantiate.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 130 ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 131 -gen-clang-attr-template-instantiate -o ${.TARGET} ${.ALLSRC} 132 133AttrTypeArg.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 134 ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 135 -gen-clang-attr-type-arg-list -o ${.TARGET} ${.ALLSRC} 136 137CommentCommandInfo.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentCommands.td 138 ${CLANG_TBLGEN} \ 139 -gen-clang-comment-command-info -o ${.TARGET} ${.ALLSRC} 140 141CommentCommandList.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentCommands.td 142 ${CLANG_TBLGEN} \ 143 -gen-clang-comment-command-list -o ${.TARGET} ${.ALLSRC} 144 145CommentHTMLNamedCharacterReferences.inc.h: \ 146 ${CLANG_SRCS}/include/clang/AST/CommentHTMLNamedCharacterReferences.td 147 ${CLANG_TBLGEN} \ 148 -gen-clang-comment-html-named-character-references -o ${.TARGET} \ 149 ${.ALLSRC} 150 151CommentHTMLTags.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td 152 ${CLANG_TBLGEN} \ 153 -gen-clang-comment-html-tags -o ${.TARGET} ${.ALLSRC} 154 155CommentHTMLTagsProperties.inc.h: \ 156 ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td 157 ${CLANG_TBLGEN} \ 158 -gen-clang-comment-html-tags-properties -o ${.TARGET} ${.ALLSRC} 159 160CommentNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/CommentNodes.td 161 ${CLANG_TBLGEN} \ 162 -gen-clang-comment-nodes -o ${.TARGET} ${.ALLSRC} 163 164DeclNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td 165 ${CLANG_TBLGEN} \ 166 -gen-clang-decl-nodes -o ${.TARGET} ${.ALLSRC} 167 168StmtNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td 169 ${CLANG_TBLGEN} \ 170 -gen-clang-stmt-nodes -o ${.TARGET} ${.ALLSRC} 171 172arm_neon.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 173 ${CLANG_TBLGEN} \ 174 -gen-arm-neon -o ${.TARGET} ${.ALLSRC} 175 176arm_neon.inc.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 177 ${CLANG_TBLGEN} \ 178 -gen-arm-neon-sema -o ${.TARGET} ${.ALLSRC} 179 180DiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 181 ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic \ 182 -gen-clang-diag-groups -o ${.TARGET} ${.ALLSRC} 183 184DiagnosticIndexName.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 185 ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic \ 186 -gen-clang-diags-index-name -o ${.TARGET} ${.ALLSRC} 187 188.for hdr in AST Analysis Comment Common Driver Frontend Lex Parse Sema Serialization 189Diagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 190 ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic \ 191 -gen-clang-diags-defs -clang-component=${hdr} -o ${.TARGET} \ 192 ${.ALLSRC} 193.endfor 194 195Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td 196 ${TBLGEN} -I ${LLVM_SRCS}/include -I ${CLANG_SRCS}/include/clang/Driver \ 197 -gen-opt-parser-defs -o ${.TARGET} ${.ALLSRC} 198 199CC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td 200 ${TBLGEN} -I ${LLVM_SRCS}/include -I ${CLANG_SRCS}/include/clang/Driver \ 201 -gen-opt-parser-defs -o ${.TARGET} ${.ALLSRC} 202 203Checkers.inc.h: ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td \ 204 ${CLANG_SRCS}/include/clang/StaticAnalyzer/Checkers/CheckerBase.td 205 ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \ 206 -gen-clang-sa-checkers -o ${.TARGET} \ 207 ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td 208 209SRCS+= ${TGHDRS:C/$/.inc.h/} 210DPADD+= ${TGHDRS:C/$/.inc.h/} 211CLEANFILES+= ${TGHDRS:C/$/.inc.h/} 212