# This creates inc files generated by llvm-tblgen program # # Target intentionally left off: BPF, Hexagon, MSP430, NVPTX, Sparc, Xcore TOP_LLVM= ${.CURDIR}/../../contrib/llvm .PATH: ${TOP_LLVM}/include/llvm/IR .PATH: ${TOP_LLVM}/lib/IR .PATH: ${TOP_LLVM}/lib/Target/AArch64 .PATH: ${TOP_LLVM}/lib/Target/AMDGPU .PATH: ${TOP_LLVM}/lib/Target/ARM .PATH: ${TOP_LLVM}/lib/Target/PowerPC .PATH: ${TOP_LLVM}/lib/Target/Mips .PATH: ${TOP_LLVM}/lib/Target/X86 CLEANDIRS= lib llvm clang TGTS= AArch64 AMDGPU ARM PowerPC Mips X86 TINX= GenAsmMatcher/-gen-asm-matcher \ GenAsmWriter/-gen-asm-writer \ GenCallingConv/-gen-callingconv \ GenDAGISel/-gen-dag-isel \ GenDisassemblerTables/-gen-disassembler \ GenFastISel/-gen-fast-isel \ GenInstrInfo/-gen-instr-info \ GenMCCodeEmitter/-gen-emitter \ GenRegisterInfo/-gen-register-info \ GenSubtargetInfo/-gen-subtarget TINX_AArch64= \ ${TINX} \ GenAsmWriter1/-gen-asm-writer,-asmwriternum=1 \ GenMCPseudoLowering/-gen-pseudo-lowering TINX_AMDGPU= \ ${TINX:NGenFastISel*:NGenDisassembler*} \ GenDFAPacketizer/-gen-dfa-packetizer \ GenIntrinsics/-gen-tgt-intrinsic TINX_ARM= \ ${TINX} \ GenMCPseudoLowering/-gen-pseudo-lowering TINX_PowerPC= \ ${TINX} TINX_Mips= \ ${TINX} \ GenMCPseudoLowering/-gen-pseudo-lowering TINX_X86= \ ${TINX:NGenMCCodeEmitter*} \ GenAsmWriter1/-gen-asm-writer,-asmwriternum=1 SING1= clang/Driver/Options.inc \ llvm/IR/Attributes.inc \ llvm/IR/Intrinsics.gen \ lib/IR/AttributesCompatFunc.inc .for T in ${TGTS} . for FX in ${TINX_${T}:H} beforedepend: lib/Target/${T}/${T:S/PowerPC/PPC/}${FX}.inc all: lib/Target/${T}/${T:S/PowerPC/PPC/}${FX}.inc . endfor .endfor beforedepend: ${SING1} all: ${SING1} @echo LLVM block3 complete TGEN= ${.OBJDIR}/../block2/llvm-tblgen/llvm-tblgen TGINCS= -I${TOP_LLVM}/include/llvm/IR \ -I${TOP_LLVM}/include \ -I${TOP_LLVM}/lib/Target TXINCS= -I${TOP_LLVM}/include \ -I${TOP_LLVM}/lib/Target clang/Driver/Options.inc: Options.td ${TGEN} mkdir -p ${.TARGET:H} ${TGEN} -gen-opt-parser-defs ${CIOPT} ${.ALLSRC:M*.td} -o ${.TARGET} llvm/IR/Attributes.inc: Attributes.td ${TGEN} mkdir -p ${.TARGET:H} ${TGEN} -gen-attrs ${TGINCS} ${.ALLSRC:M*.td} -o ${.TARGET} llvm/IR/Intrinsics.gen: Intrinsics.td ${TGEN} mkdir -p ${.TARGET:H} ${TGEN} -gen-intrinsic ${TGINCS} ${.ALLSRC:M*.td} -o ${.TARGET} lib/IR/AttributesCompatFunc.inc: AttributesCompatFunc.td ${TGEN} mkdir -p ${.TARGET:H} ${TGEN} -gen-attrs ${TGINCS} ${.ALLSRC:M*.td} -o ${.TARGET} .for T in ${TGTS} . for FX in ${TINX_${T}} lib/Target/${T}/${T:S/PowerPC/PPC/}${FX:H}.inc: ${T:S/PowerPC/PPC/}.td ${TGEN} mkdir -p lib/Target/${T} ${TGEN} ${FX:T:S|,| |} ${TXINCS} -I${TOP_LLVM}/lib/Target/${T} \ ${.ALLSRC:M*.td} -o ${.TARGET} . endfor .endfor # CLANG Generations .PATH: ${TOP_LLVM}/tools/clang/include/clang/AST .PATH: ${TOP_LLVM}/tools/clang/include/clang/Basic .PATH: ${TOP_LLVM}/tools/clang/include/clang/Driver CGEN= ${.OBJDIR}/../block2/clang-tblgen/clang-tblgen CXINCS= -I${TOP_LLVM}/tools/clang/include \ -I${TOP_LLVM}/lib/Target CID1= ${CXINCS} -I${TOP_LLVM}/tools/clang/include/clang/AST CID2= ${CXINCS} -I${TOP_LLVM}/tools/clang/include/clang/Sema CID3= ${CXINCS} -I${TOP_LLVM}/tools/clang/include/clang/Basic CID4= ${CXINCS} -I${TOP_LLVM}/tools/clang/include/clang/Serialization CID5= ${CXINCS} -I${TOP_LLVM}/tools/clang/include/clang/Parse CIOPT= ${CXINCS} -I${TOP_LLVM}/tools/clang/include/clang/Driver -I${TOP_LLVM}/include CXAST= -I${TOP_LLVM}/tools/clang/lib/Headers \ -I${TOP_LLVM}/lib/Target \ -I${TOP_LLVM}/include CLX1= Attrs/-gen-clang-attr-classes/Attr.td \ AttrImpl/-gen-clang-attr-impl/Attr.td \ AttrDump/-gen-clang-attr-dump/Attr.td \ AttrVisitor/-gen-clang-attr-ast-visitor/Attr.td \ StmtNodes/-gen-clang-stmt-nodes/StmtNodes.td \ DeclNodes/-gen-clang-decl-nodes/DeclNodes.td \ CommentNodes/-gen-clang-comment-nodes/CommentNodes.td \ CommentHTMLTags/-gen-clang-comment-html-tags/CommentHTMLTags.td \ CommentHTMLTagsProperties/-gen-clang-comment-html-tags-properties/CommentHTMLTags.td \ CommentHTMLNamedCharacterReferences/-gen-clang-comment-html-named-character-references/CommentHTMLNamedCharacterReferences.td \ CommentCommandInfo/-gen-clang-comment-command-info/CommentCommands.td \ CommentCommandList/-gen-clang-comment-command-list/CommentCommands.td CLX2= AttrTemplateInstantiate/-gen-clang-attr-template-instantiate/Attr.td \ AttrParsedAttrList/-gen-clang-attr-parsed-attr-list/Attr.td \ AttrParsedAttrKinds/-gen-clang-attr-parsed-attr-kinds/Attr.td \ AttrSpellingListIndex/-gen-clang-attr-spelling-index/Attr.td \ AttrParsedAttrImpl/-gen-clang-attr-parsed-attr-impl/Attr.td CLX3= DiagnosticAnalysisKinds/-gen-clang-diags-defs,-clang-component=Analysis/Diagnostic.td \ DiagnosticASTKinds/-gen-clang-diags-defs,-clang-component=AST/Diagnostic.td \ DiagnosticCommentKinds/-gen-clang-diags-defs,-clang-component=Comment/Diagnostic.td \ DiagnosticCommonKinds/-gen-clang-diags-defs,-clang-component=Common/Diagnostic.td \ DiagnosticDriverKinds/-gen-clang-diags-defs,-clang-component=Driver/Diagnostic.td \ DiagnosticFrontendKinds/-gen-clang-diags-defs,-clang-component=Frontend/Diagnostic.td \ DiagnosticLexKinds/-gen-clang-diags-defs,-clang-component=Lex/Diagnostic.td \ DiagnosticParseKinds/-gen-clang-diags-defs,-clang-component=Parse/Diagnostic.td \ DiagnosticSemaKinds/-gen-clang-diags-defs,-clang-component=Sema/Diagnostic.td \ DiagnosticSerializationKinds/-gen-clang-diags-defs,-clang-component=Serialization/Diagnostic.td \ DiagnosticGroups/-gen-clang-diag-groups/Diagnostic.td \ DiagnosticIndexName/-gen-clang-diags-index-name/Diagnostic.td \ AttrList/-gen-clang-attr-list/Attr.td \ AttrHasAttributeImpl/-gen-clang-attr-has-attribute-impl/Attr.td \ arm_neon/-gen-arm-neon-sema/arm_neon.td CLX4= AttrPCHRead/-gen-clang-attr-pch-read/Attr.td \ AttrPCHWrite/-gen-clang-attr-pch-write/Attr.td CLX5= AttrParserStringSwitches/-gen-clang-attr-parser-string-switches/Attr.td SING2= clang/Basic/Version.inc \ clang/Config/config.h \ clang/Headers/arm_neon.h .for ZZ in 1/AST 2/Sema 3/Basic 4/Serialization 5/Parse . for FX in ${CLX${ZZ:H}:H:H} beforedepend: clang/${ZZ:T}/${FX}.inc all: clang/${ZZ:T}/${FX}.inc . endfor . for FX in ${CLX${ZZ:H}} clang/${ZZ:T}/${FX:H:H}.inc: ${FX:T} ${CGEN} mkdir -p ${.TARGET:H} ${CGEN} ${FX:H:T:S|,| |} ${CID${ZZ:H}} ${.ALLSRC:M*.td} -o ${.TARGET} . endfor .endfor beforedepend: ${SING2} all: ${SING2} clang/Basic/Version.inc: ${.CURDIR}/../block1/configuration/Version.inc mkdir -p ${.TARGET:H} cp ${.ALLSRC} ${.TARGET} clang/Config/config.h: ${.CURDIR}/../block1/configuration/config.h.clang mkdir -p ${.TARGET:H} cp ${.ALLSRC} ${.TARGET} clang/Headers/arm_neon.h: arm_neon.td ${CGEN} mkdir -p ${.TARGET:H} ${CGEN} -gen-arm-neon ${CXAST} ${.ALLSRC:M*.td} -o ${.TARGET} .include