1208963Srdivacky# $FreeBSD: stable/10/lib/clang/clang.build.mk 321825 2017-07-31 22:19:39Z marius $ 2208963Srdivacky 3239614SdimCLANG_SRCS= ${LLVM_SRCS}/tools/clang 4208963Srdivacky 5239614SdimCFLAGS+= -I${LLVM_SRCS}/include -I${CLANG_SRCS}/include \ 6239614Sdim -I${LLVM_SRCS}/${SRCDIR} ${INCDIR:C/^/-I${LLVM_SRCS}\//} -I. \ 7239614Sdim -I${LLVM_SRCS}/../../lib/clang/include \ 8239614Sdim -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \ 9256297Sdim -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DNDEBUG 10208963Srdivacky 11246259Sdim.if !defined(EARLY_BUILD) && defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no" 12246259SdimCFLAGS+= -DCLANG_ENABLE_ARCMT \ 13246259Sdim -DCLANG_ENABLE_REWRITER \ 14246259Sdim -DCLANG_ENABLE_STATIC_ANALYZER 15246259Sdim.endif # !EARLY_BUILD && MK_CLANG_FULL 16246259Sdim 17229169Snwhitehorn# LLVM is not strict aliasing safe as of 12/31/2011 18239614SdimCFLAGS+= -fno-strict-aliasing 19209153Sed 20208963SrdivackyTARGET_ARCH?= ${MACHINE_ARCH} 21239462SdimBUILD_ARCH?= ${MACHINE_ARCH} 22246705Sandrew 23246705Sandrew.if (${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "armv6") && \ 24246705Sandrew ${MK_ARM_EABI} != "no" 25246705SandrewTARGET_ABI= gnueabi 26246705Sandrew.else 27246705SandrewTARGET_ABI= unknown 28246705Sandrew.endif 29246705Sandrew 30321825SmariusTARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd10.4 31321825SmariusBUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/}-unknown-freebsd10.4 32239462SdimCFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \ 33251662Sdim -DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \ 34319631Sdim -DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\" 35319631Sdim# Work around gcc 4.2 "section type conflict" bug with -fdata-sections on 36319631Sdim# powerpc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33168 37319631Sdim.if !(${MACHINE_CPUARCH} == "powerpc" && ${COMPILER_TYPE} == "gcc" && \ 38319631Sdim ${COMPILER_VERSION} < 40300) 39319631SdimCFLAGS+= -ffunction-sections -fdata-sections 40317599SdimLDFLAGS+= -Wl,--gc-sections 41319631Sdim.endif 42243830SdimCXXFLAGS+= -fno-exceptions -fno-rtti 43208963Srdivacky 44208963Srdivacky.PATH: ${LLVM_SRCS}/${SRCDIR} 45208963Srdivacky 46239614SdimTBLGEN?= tblgen 47239614SdimCLANG_TBLGEN?= clang-tblgen 48208963Srdivacky 49266309SdimIntrinsics.inc.h: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td 50266309Sdim ${TBLGEN} -gen-intrinsic \ 51266309Sdim -I ${LLVM_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 52249423Sdim ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td 53208963Srdivacky.for arch in \ 54263763Sdim ARM/ARM Mips/Mips PowerPC/PPC Sparc/Sparc X86/X86 55208963Srdivacky. for hdr in \ 56208963Srdivacky AsmMatcher/-gen-asm-matcher \ 57208963Srdivacky AsmWriter1/-gen-asm-writer,-asmwriternum=1 \ 58208963Srdivacky AsmWriter/-gen-asm-writer \ 59208963Srdivacky CallingConv/-gen-callingconv \ 60208963Srdivacky CodeEmitter/-gen-emitter \ 61208963Srdivacky DAGISel/-gen-dag-isel \ 62212904Sdim DisassemblerTables/-gen-disassembler \ 63208963Srdivacky FastISel/-gen-fast-isel \ 64224145Sdim InstrInfo/-gen-instr-info \ 65218893Sdim MCCodeEmitter/-gen-emitter,-mc-emitter \ 66224145Sdim MCPseudoLowering/-gen-pseudo-lowering \ 67224145Sdim RegisterInfo/-gen-register-info \ 68224145Sdim SubtargetInfo/-gen-subtarget 69208963Srdivacky${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td 70266309Sdim ${TBLGEN} ${hdr:T:C/,/ /g} \ 71266309Sdim -I ${LLVM_SRCS}/include -I ${LLVM_SRCS}/lib/Target/${arch:H} \ 72266309Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 73224145Sdim ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td 74208963Srdivacky. endfor 75208963Srdivacky.endfor 76208963Srdivacky 77210299SedAttrs.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 78266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-classes \ 79266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 80267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 81210299Sed 82249423SdimAttrDump.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 83266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-dump \ 84266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 85267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 86249423Sdim 87263508SdimAttrIdentifierArg.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 88266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-identifier-arg-list \ 89266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 90267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 91251662Sdim 92212904SdimAttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 93266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-impl \ 94266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 95267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 96263508Sdim 97226633SdimAttrLateParsed.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 98266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-late-parsed-list \ 99266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 100267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 101226633Sdim 102210299SedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 103266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-list \ 104266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 105267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 106210299Sed 107263508SdimAttrParsedAttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 108266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-parsed-attr-impl \ 109266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 110267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 111263508Sdim 112234353SdimAttrParsedAttrKinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 113266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-parsed-attr-kinds \ 114266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 115267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 116234353Sdim 117234353SdimAttrParsedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 118266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-parsed-attr-list \ 119266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 120267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 121234353Sdim 122212904SdimAttrPCHRead.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 123266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-pch-read \ 124266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 125267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 126212904Sdim 127212904SdimAttrPCHWrite.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 128266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-pch-write \ 129266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 130267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 131212904Sdim 132218893SdimAttrSpellings.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 133266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-spelling-list \ 134266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 135267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 136218893Sdim 137249423SdimAttrSpellingListIndex.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 138266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-spelling-index \ 139266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 140267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 141249423Sdim 142234353SdimAttrTemplateInstantiate.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 143266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-template-instantiate \ 144266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 145267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 146234353Sdim 147263508SdimAttrTypeArg.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td 148266309Sdim ${CLANG_TBLGEN} -gen-clang-attr-type-arg-list \ 149266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 150267470Sdim ${CLANG_SRCS}/include/clang/Basic/Attr.td 151263508Sdim 152243830SdimCommentCommandInfo.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentCommands.td 153266309Sdim ${CLANG_TBLGEN} -gen-clang-comment-command-info \ 154267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 155267470Sdim ${CLANG_SRCS}/include/clang/AST/CommentCommands.td 156243830Sdim 157249423SdimCommentCommandList.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentCommands.td 158266309Sdim ${CLANG_TBLGEN} -gen-clang-comment-command-list \ 159267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 160267470Sdim ${CLANG_SRCS}/include/clang/AST/CommentCommands.td 161249423Sdim 162249423SdimCommentHTMLNamedCharacterReferences.inc.h: \ 163249423Sdim ${CLANG_SRCS}/include/clang/AST/CommentHTMLNamedCharacterReferences.td 164266309Sdim ${CLANG_TBLGEN} -gen-clang-comment-html-named-character-references \ 165267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 166267470Sdim ${CLANG_SRCS}/include/clang/AST/CommentHTMLNamedCharacterReferences.td 167249423Sdim 168243830SdimCommentHTMLTags.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td 169266309Sdim ${CLANG_TBLGEN} -gen-clang-comment-html-tags \ 170267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 171267470Sdim ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td 172243830Sdim 173249423SdimCommentHTMLTagsProperties.inc.h: \ 174249423Sdim ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td 175266309Sdim ${CLANG_TBLGEN} -gen-clang-comment-html-tags-properties \ 176267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 177267470Sdim ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td 178243830Sdim 179239462SdimCommentNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/CommentNodes.td 180266309Sdim ${CLANG_TBLGEN} -gen-clang-comment-nodes \ 181267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 182267470Sdim ${CLANG_SRCS}/include/clang/Basic/CommentNodes.td 183239462Sdim 184210299SedDeclNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td 185266309Sdim ${CLANG_TBLGEN} -gen-clang-decl-nodes \ 186267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 187267470Sdim ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td 188210299Sed 189210299SedStmtNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td 190266309Sdim ${CLANG_TBLGEN} -gen-clang-stmt-nodes \ 191267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 192267470Sdim ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td 193210299Sed 194263508Sdimarm_neon.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 195266309Sdim ${CLANG_TBLGEN} -gen-arm-neon \ 196267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 197267470Sdim ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 198263508Sdim 199210299Sedarm_neon.inc.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 200266309Sdim ${CLANG_TBLGEN} -gen-arm-neon-sema \ 201267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 202267470Sdim ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 203210299Sed 204208963SrdivackyDiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 205266309Sdim ${CLANG_TBLGEN} -gen-clang-diag-groups \ 206266309Sdim -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/\.h$/.d/} \ 207267470Sdim -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 208221345Sdim 209221345SdimDiagnosticIndexName.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 210266309Sdim ${CLANG_TBLGEN} -gen-clang-diags-index-name \ 211266309Sdim -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/\.h$/.d/} \ 212267470Sdim -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 213221345Sdim 214239462Sdim.for hdr in AST Analysis Comment Common Driver Frontend Lex Parse Sema Serialization 215208963SrdivackyDiagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 216266309Sdim ${CLANG_TBLGEN} -gen-clang-diags-defs -clang-component=${hdr} \ 217266309Sdim -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/\.h$/.d/} \ 218267470Sdim -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td 219208963Srdivacky.endfor 220221345Sdim 221210299SedOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td 222266309Sdim ${TBLGEN} -gen-opt-parser-defs \ 223266309Sdim -I ${LLVM_SRCS}/include -I ${CLANG_SRCS}/include/clang/Driver \ 224267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 225267470Sdim ${CLANG_SRCS}/include/clang/Driver/Options.td 226210299Sed 227210299SedCC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td 228266309Sdim ${TBLGEN} -gen-opt-parser-defs \ 229266309Sdim -I ${LLVM_SRCS}/include -I ${CLANG_SRCS}/include/clang/Driver \ 230267470Sdim -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 231267470Sdim ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td 232208963Srdivacky 233267470SdimCheckers.inc.h: ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td 234266309Sdim ${CLANG_TBLGEN} -gen-clang-sa-checkers \ 235266309Sdim -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ 236224145Sdim ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td 237218893Sdim 238266309Sdim.for dep in ${TGHDRS:C/$/.inc.d/} 239266309Sdim. sinclude "${dep}" 240266309Sdim.endfor 241266309Sdim 242208963SrdivackySRCS+= ${TGHDRS:C/$/.inc.h/} 243266309SdimCLEANFILES+= ${TGHDRS:C/$/.inc.h/} ${TGHDRS:C/$/.inc.d/} 244