1*53d1339bSjoerg# $NetBSD: Makefile,v 1.3 2021/05/30 01:56:50 joerg Exp $ 276c7fc5fSjoerg 376c7fc5fSjoerg.include <bsd.init.mk> 476c7fc5fSjoerg 576c7fc5fSjoerg.if ${MKLLVM} != "no" 676c7fc5fSjoerg.PATH: ${CLANG_SRCDIR}/lib/Headers 776c7fc5fSjoerg 8*53d1339bSjoerg 976c7fc5fSjoerg.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 1076c7fc5fSjoergINCS= adxintrin.h \ 1176c7fc5fSjoerg ammintrin.h \ 12*53d1339bSjoerg amxintrin.h \ 1376c7fc5fSjoerg avx2intrin.h \ 1476c7fc5fSjoerg avx512bf16intrin.h \ 1576c7fc5fSjoerg avx512bitalgintrin.h \ 1676c7fc5fSjoerg avx512bwintrin.h \ 1776c7fc5fSjoerg avx512cdintrin.h \ 1876c7fc5fSjoerg avx512dqintrin.h \ 1976c7fc5fSjoerg avx512erintrin.h \ 2076c7fc5fSjoerg avx512fintrin.h \ 2176c7fc5fSjoerg avx512ifmaintrin.h \ 2276c7fc5fSjoerg avx512ifmavlintrin.h \ 2376c7fc5fSjoerg avx512pfintrin.h \ 2476c7fc5fSjoerg avx512vbmi2intrin.h \ 2576c7fc5fSjoerg avx512vbmiintrin.h \ 2676c7fc5fSjoerg avx512vbmivlintrin.h \ 27*53d1339bSjoerg avx512vlbf16intrin.h \ 2876c7fc5fSjoerg avx512vlbitalgintrin.h \ 2976c7fc5fSjoerg avx512vlbwintrin.h \ 3076c7fc5fSjoerg avx512vlcdintrin.h \ 3176c7fc5fSjoerg avx512vldqintrin.h \ 3276c7fc5fSjoerg avx512vlintrin.h \ 3376c7fc5fSjoerg avx512vlvbmi2intrin.h \ 3476c7fc5fSjoerg avx512vlvnniintrin.h \ 35*53d1339bSjoerg avx512vlvp2intersectintrin.h \ 3676c7fc5fSjoerg avx512vnniintrin.h \ 37*53d1339bSjoerg avx512vp2intersectintrin.h \ 3876c7fc5fSjoerg avx512vpopcntdqintrin.h \ 3976c7fc5fSjoerg avx512vpopcntdqvlintrin.h \ 4076c7fc5fSjoerg avxintrin.h \ 41*53d1339bSjoerg avxvnniintrin.h \ 4276c7fc5fSjoerg bmi2intrin.h \ 4376c7fc5fSjoerg bmiintrin.h \ 4476c7fc5fSjoerg cetintrin.h \ 4576c7fc5fSjoerg cldemoteintrin.h \ 4676c7fc5fSjoerg clflushoptintrin.h \ 4776c7fc5fSjoerg clwbintrin.h \ 4876c7fc5fSjoerg clzerointrin.h \ 4976c7fc5fSjoerg cpuid.h \ 5076c7fc5fSjoerg emmintrin.h \ 51*53d1339bSjoerg enqcmdintrin.h \ 5276c7fc5fSjoerg f16cintrin.h \ 5376c7fc5fSjoerg fma4intrin.h \ 5476c7fc5fSjoerg fmaintrin.h \ 5576c7fc5fSjoerg fxsrintrin.h \ 5676c7fc5fSjoerg gfniintrin.h \ 57*53d1339bSjoerg hresetintrin.h \ 5876c7fc5fSjoerg ia32intrin.h \ 5976c7fc5fSjoerg immintrin.h \ 6076c7fc5fSjoerg invpcidintrin.h \ 61*53d1339bSjoerg keylockerintrin.h \ 6276c7fc5fSjoerg lwpintrin.h \ 6376c7fc5fSjoerg lzcntintrin.h \ 6476c7fc5fSjoerg mm3dnow.h \ 6576c7fc5fSjoerg mmintrin.h \ 6676c7fc5fSjoerg mm_malloc.h \ 6776c7fc5fSjoerg movdirintrin.h \ 6876c7fc5fSjoerg mwaitxintrin.h \ 6976c7fc5fSjoerg nmmintrin.h \ 7076c7fc5fSjoerg pconfigintrin.h \ 7176c7fc5fSjoerg pkuintrin.h \ 7276c7fc5fSjoerg pmmintrin.h \ 7376c7fc5fSjoerg popcntintrin.h \ 7476c7fc5fSjoerg prfchwintrin.h \ 7576c7fc5fSjoerg ptwriteintrin.h \ 7676c7fc5fSjoerg rdseedintrin.h \ 7776c7fc5fSjoerg rtmintrin.h \ 78*53d1339bSjoerg serializeintrin.h \ 7976c7fc5fSjoerg sgxintrin.h \ 8076c7fc5fSjoerg shaintrin.h \ 8176c7fc5fSjoerg smmintrin.h \ 8276c7fc5fSjoerg tbmintrin.h \ 8376c7fc5fSjoerg tmmintrin.h \ 84*53d1339bSjoerg tsxldtrkintrin.h \ 85*53d1339bSjoerg uintrintrin.h \ 8676c7fc5fSjoerg vaesintrin.h \ 8776c7fc5fSjoerg vpclmulqdqintrin.h \ 8876c7fc5fSjoerg waitpkgintrin.h \ 8976c7fc5fSjoerg wbnoinvdintrin.h \ 9076c7fc5fSjoerg __wmmintrin_aes.h \ 91*53d1339bSjoerg wmmintrin.h \ 9276c7fc5fSjoerg __wmmintrin_pclmul.h \ 93*53d1339bSjoerg x86gprintrin.h \ 9476c7fc5fSjoerg x86intrin.h \ 9576c7fc5fSjoerg xmmintrin.h \ 9676c7fc5fSjoerg xopintrin.h \ 9776c7fc5fSjoerg xsavecintrin.h \ 9876c7fc5fSjoerg xsaveintrin.h \ 9976c7fc5fSjoerg xsaveoptintrin.h \ 10076c7fc5fSjoerg xsavesintrin.h \ 10176c7fc5fSjoerg xtestintrin.h 10276c7fc5fSjoerg 10376c7fc5fSjoerg.elif ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" 10476c7fc5fSjoergINCS= altivec.h \ 10576c7fc5fSjoerg htmintrin.h \ 10676c7fc5fSjoerg htmxlintrin.h 10776c7fc5fSjoerg.elif ${MACHINE_CPU} == "arm" || ${MACHINE_CPU} == "aarch64" 10876c7fc5fSjoergINCS= arm_acle.h \ 109*53d1339bSjoerg arm_cmse.h \ 11076c7fc5fSjoerg arm_neon.h 11176c7fc5fSjoerg. if ${MACHINE_CPU} == "aarch64" 11276c7fc5fSjoergINCS+= arm64intr.h 11376c7fc5fSjoerg. endif 114962e2e4bSchristos.elif ${MACHINE_CPU} == "mips" 11576c7fc5fSjoergINCS= msa.h 11676c7fc5fSjoerg.endif 117*53d1339bSjoergINCS+= stdatomic.h tgmath.h 11876c7fc5fSjoergINCSDIR= /usr/include/clang-${CLANG_VERSION:R} 11976c7fc5fSjoerg.endif # MKLLVM 12076c7fc5fSjoerg 121*53d1339bSjoerg.PATH: ${LLVM_SRCDIR}/include/llvm/IR 122*53d1339bSjoerg.PATH: ${LLVM_SRCDIR}/include/llvm/Frontend/OpenACC 123*53d1339bSjoerg.PATH: ${LLVM_SRCDIR}/include/llvm/Frontend/OpenMP 12476c7fc5fSjoerg 125*53d1339bSjoergTABLEGEN_SRC= Attributes.td Intrinsics.td Options.td ACC.td OMP.td 12676c7fc5fSjoerg 12776c7fc5fSjoergTABLEGEN_OUTPUT.Attributes.td= \ 12876c7fc5fSjoerg llvm/IR/Attributes.inc|-gen-attrs 12976c7fc5fSjoerg 13076c7fc5fSjoergTABLEGEN_OUTPUT.Intrinsics.td= \ 13176c7fc5fSjoerg llvm/IR/IntrinsicEnums.inc|-gen-intrinsic-enums \ 132*53d1339bSjoerg llvm/IR/IntrinsicImpl.inc|-gen-intrinsic-impl \ 133*53d1339bSjoerg llvm/IR/IntrinsicsAArch64.h|-gen-intrinsic-enums^-intrinsic-prefix=aarch64 \ 134*53d1339bSjoerg llvm/IR/IntrinsicsAMDGPU.h|-gen-intrinsic-enums^-intrinsic-prefix=amdgcn \ 135*53d1339bSjoerg llvm/IR/IntrinsicsARM.h|-gen-intrinsic-enums^-intrinsic-prefix=arm \ 136*53d1339bSjoerg llvm/IR/IntrinsicsBPF.h|-gen-intrinsic-enums^-intrinsic-prefix=bpf \ 137*53d1339bSjoerg llvm/IR/IntrinsicsHexagon.h|-gen-intrinsic-enums^-intrinsic-prefix=hexagon \ 138*53d1339bSjoerg llvm/IR/IntrinsicsMips.h|-gen-intrinsic-enums^-intrinsic-prefix=mips \ 139*53d1339bSjoerg llvm/IR/IntrinsicsNVPTX.h|-gen-intrinsic-enums^-intrinsic-prefix=nvvm \ 140*53d1339bSjoerg llvm/IR/IntrinsicsPowerPC.h|-gen-intrinsic-enums^-intrinsic-prefix=ppc \ 141*53d1339bSjoerg llvm/IR/IntrinsicsR600.h|-gen-intrinsic-enums^-intrinsic-prefix=r600 \ 142*53d1339bSjoerg llvm/IR/IntrinsicsRISCV.h|-gen-intrinsic-enums^-intrinsic-prefix=riscv \ 143*53d1339bSjoerg llvm/IR/IntrinsicsS390.h|-gen-intrinsic-enums^-intrinsic-prefix=s390 \ 144*53d1339bSjoerg llvm/IR/IntrinsicsVE.h|-gen-intrinsic-enums^-intrinsic-prefix=ve \ 145*53d1339bSjoerg llvm/IR/IntrinsicsWebAssembly.h|-gen-intrinsic-enums^-intrinsic-prefix=wasm \ 146*53d1339bSjoerg llvm/IR/IntrinsicsX86.h|-gen-intrinsic-enums^-intrinsic-prefix=x86 \ 147*53d1339bSjoerg llvm/IR/IntrinsicsXCore.h|-gen-intrinsic-enums^-intrinsic-prefix=xcore \ 148*53d1339bSjoerg 149*53d1339bSjoergTABLEGEN_OUTPUT.OMP.td= \ 150*53d1339bSjoerg llvm/Frontend/OpenMP/OMP.h.inc|--gen-directive-decl \ 151*53d1339bSjoerg llvm/Frontend/OpenMP/OMP.inc|--gen-directive-impl 152*53d1339bSjoerg 153*53d1339bSjoergTABLEGEN_OUTPUT.ACC.td= \ 154*53d1339bSjoerg llvm/Frontend/OpenACC/ACC.h.inc|--gen-directive-decl \ 155*53d1339bSjoerg llvm/Frontend/OpenACC/ACC.inc|--gen-directive-impl 15676c7fc5fSjoerg 15776c7fc5fSjoerg.if ${MKLLVM} != "no" 15876c7fc5fSjoerg.PATH: ${CLANG_SRCDIR}/include/clang/AST \ 15976c7fc5fSjoerg ${CLANG_SRCDIR}/include/clang/Basic \ 16076c7fc5fSjoerg ${CLANG_SRCDIR}/include/clang/Driver \ 161*53d1339bSjoerg ${CLANG_SRCDIR}/include/clang/StaticAnalyzer/Checkers \ 162*53d1339bSjoerg ${CLANG_SRCDIR}/include/clang/Tooling/Syntax 16376c7fc5fSjoergCLANG_TABLEGEN_SRC= \ 164*53d1339bSjoerg arm_cde.td \ 16576c7fc5fSjoerg arm_fp16.td \ 16676c7fc5fSjoerg arm_mve.td \ 167*53d1339bSjoerg arm_neon.td \ 168*53d1339bSjoerg arm_sve.td \ 16976c7fc5fSjoerg Attr.td \ 17076c7fc5fSjoerg Checkers.td \ 17176c7fc5fSjoerg CommentCommands.td \ 17276c7fc5fSjoerg CommentHTMLNamedCharacterReferences.td \ 17376c7fc5fSjoerg CommentHTMLTags.td \ 17476c7fc5fSjoerg CommentNodes.td \ 17576c7fc5fSjoerg DeclNodes.td \ 17676c7fc5fSjoerg Diagnostic.td \ 177*53d1339bSjoerg Nodes.td \ 178*53d1339bSjoerg PropertiesBase.td \ 179*53d1339bSjoerg riscv_vector.td \ 18076c7fc5fSjoerg StmtDataCollectors.td \ 18176c7fc5fSjoerg StmtNodes.td \ 182*53d1339bSjoerg TypeNodes.td \ 183*53d1339bSjoerg TypeProperties.td 18476c7fc5fSjoerg 18576c7fc5fSjoergCLANG_TABLEGEN_INCLUDES.Attr.td= -I${CLANG_SRCDIR}/include 18676c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.Attr.td= \ 18776c7fc5fSjoerg clang/AST/AttrImpl.inc|-gen-clang-attr-impl \ 18876c7fc5fSjoerg clang/AST/AttrNodeTraverse.inc|-gen-clang-attr-node-traverse \ 18976c7fc5fSjoerg clang/AST/AttrTextNodeDump.inc|-gen-clang-attr-text-node-dump \ 19076c7fc5fSjoerg clang/AST/Attrs.inc|-gen-clang-attr-classes \ 19176c7fc5fSjoerg clang/AST/AttrVisitor.inc|-gen-clang-attr-ast-visitor \ 19276c7fc5fSjoerg clang/Basic/AttrHasAttributeImpl.inc|-gen-clang-attr-has-attribute-impl \ 19376c7fc5fSjoerg clang/Basic/AttrList.inc|-gen-clang-attr-list \ 19476c7fc5fSjoerg clang/Basic/AttrSubMatchRulesList.inc|-gen-clang-attr-subject-match-rule-list \ 19576c7fc5fSjoerg clang/Parse/AttrParserStringSwitches.inc|-gen-clang-attr-parser-string-switches \ 19676c7fc5fSjoerg clang/Parse/AttrSubMatchRulesParserStringSwitches.inc|-gen-clang-attr-subject-match-rules-parser-string-switches \ 19776c7fc5fSjoerg clang/Sema/AttrParsedAttrImpl.inc|-gen-clang-attr-parsed-attr-impl \ 19876c7fc5fSjoerg clang/Sema/AttrParsedAttrKinds.inc|-gen-clang-attr-parsed-attr-kinds \ 19976c7fc5fSjoerg clang/Sema/AttrParsedAttrList.inc|-gen-clang-attr-parsed-attr-list \ 20076c7fc5fSjoerg clang/Sema/AttrSpellingListIndex.inc|-gen-clang-attr-spelling-index \ 20176c7fc5fSjoerg clang/Sema/AttrTemplateInstantiate.inc|-gen-clang-attr-template-instantiate \ 20276c7fc5fSjoerg clang/Serialization/AttrPCHRead.inc|-gen-clang-attr-pch-read \ 20376c7fc5fSjoerg clang/Serialization/AttrPCHWrite.inc|-gen-clang-attr-pch-write 20476c7fc5fSjoerg 205*53d1339bSjoergCLANG_TABLEGEN_OUTPUT.PropertiesBase.td= \ 206*53d1339bSjoerg clang/AST/AbstractBasicReader.inc|-gen-clang-basic-reader \ 207*53d1339bSjoerg clang/AST/AbstractBasicWriter.inc|-gen-clang-basic-writer 208*53d1339bSjoergCLANG_TABLEGEN_INCLUDES.PropertiesBase.td= -I${CLANG_SRCDIR}/include 209*53d1339bSjoerg 210*53d1339bSjoergCLANG_TABLEGEN_OUTPUT.TypeProperties.td= \ 211*53d1339bSjoerg clang/AST/AbstractTypeReader.inc|-gen-clang-type-reader \ 212*53d1339bSjoerg clang/AST/AbstractTypeWriter.inc|-gen-clang-type-writer 213*53d1339bSjoergCLANG_TABLEGEN_INCLUDES.TypeProperties.td= -I${CLANG_SRCDIR}/include 214*53d1339bSjoerg 21576c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.StmtNodes.td= \ 21676c7fc5fSjoerg clang/AST/StmtNodes.inc|-gen-clang-stmt-nodes 217*53d1339bSjoergCLANG_TABLEGEN_INCLUDES.StmtNodes.td= -I${CLANG_SRCDIR}/include 21876c7fc5fSjoerg 21976c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.StmtDataCollectors.td= \ 22076c7fc5fSjoerg clang/AST/StmtDataCollectors.inc|-gen-clang-data-collectors 22176c7fc5fSjoerg 22276c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.DeclNodes.td= \ 22376c7fc5fSjoerg clang/AST/DeclNodes.inc|-gen-clang-decl-nodes 224*53d1339bSjoergCLANG_TABLEGEN_INCLUDES.DeclNodes.td= -I${CLANG_SRCDIR}/include 22576c7fc5fSjoerg 22676c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.CommentNodes.td= \ 22776c7fc5fSjoerg clang/AST/CommentNodes.inc|-gen-clang-comment-nodes 228*53d1339bSjoergCLANG_TABLEGEN_INCLUDES.CommentNodes.td= -I${CLANG_SRCDIR}/include 22976c7fc5fSjoerg 23076c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.CommentCommands.td= \ 23176c7fc5fSjoerg clang/AST/CommentCommandInfo.inc|-gen-clang-comment-command-info \ 23276c7fc5fSjoerg clang/AST/CommentCommandList.inc|-gen-clang-comment-command-list 23376c7fc5fSjoerg 23476c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.CommentHTMLTags.td= \ 23576c7fc5fSjoerg clang/AST/CommentHTMLTags.inc|-gen-clang-comment-html-tags \ 23676c7fc5fSjoerg clang/AST/CommentHTMLTagsProperties.inc|-gen-clang-comment-html-tags-properties 23776c7fc5fSjoerg 23876c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.CommentHTMLNamedCharacterReferences.td= \ 23976c7fc5fSjoerg clang/AST/CommentHTMLNamedCharacterReferences.inc|-gen-clang-comment-html-named-character-references 24076c7fc5fSjoerg 241*53d1339bSjoergCLANG_TABLEGEN_INCLUDES.Nodes.td= -I${CLANG_SRCDIR}/include 242*53d1339bSjoergCLANG_TABLEGEN_OUTPUT.Nodes.td= \ 243*53d1339bSjoerg clang/Tooling/Syntax/NodeClasses.inc|-gen-clang-syntax-node-classes \ 244*53d1339bSjoerg clang/Tooling/Syntax/Nodes.inc|-gen-clang-syntax-node-list 245*53d1339bSjoerg 24676c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.TypeNodes.td= \ 24776c7fc5fSjoerg clang/AST/TypeNodes.inc|-gen-clang-type-nodes 248*53d1339bSjoergCLANG_TABLEGEN_INCLUDES.TypeNodes.td= -I${CLANG_SRCDIR}/include 24976c7fc5fSjoerg 25076c7fc5fSjoergCLANG_TABLEGEN_INCLUDES.Diagnostic.td= -I${CLANG_SRCDIR}/include/clang/Basic 25176c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.Diagnostic.td= \ 25276c7fc5fSjoerg clang/Basic/DiagnosticAnalysisKinds.inc|-gen-clang-diags-defs^-clang-component=Analysis \ 25376c7fc5fSjoerg clang/Basic/DiagnosticASTKinds.inc|-gen-clang-diags-defs^-clang-component=AST \ 25476c7fc5fSjoerg clang/Basic/DiagnosticCommentKinds.inc|-gen-clang-diags-defs^-clang-component=Comment \ 25576c7fc5fSjoerg clang/Basic/DiagnosticCommonKinds.inc|-gen-clang-diags-defs^-clang-component=Common \ 25676c7fc5fSjoerg clang/Basic/DiagnosticCrossTUKinds.inc|-gen-clang-diags-defs^-clang-component=CrossTU \ 25776c7fc5fSjoerg clang/Basic/DiagnosticDriverKinds.inc|-gen-clang-diags-defs^-clang-component=Driver \ 25876c7fc5fSjoerg clang/Basic/DiagnosticFrontendKinds.inc|-gen-clang-diags-defs^-clang-component=Frontend \ 25976c7fc5fSjoerg clang/Basic/DiagnosticGroups.inc|-gen-clang-diag-groups \ 26076c7fc5fSjoerg clang/Basic/DiagnosticIndexName.inc|-gen-clang-diags-index-name \ 26176c7fc5fSjoerg clang/Basic/DiagnosticLexKinds.inc|-gen-clang-diags-defs^-clang-component=Lex \ 26276c7fc5fSjoerg clang/Basic/DiagnosticParseKinds.inc|-gen-clang-diags-defs^-clang-component=Parse \ 26376c7fc5fSjoerg clang/Basic/DiagnosticRefactoringKinds.inc|-gen-clang-diags-defs^-clang-component=Refactoring \ 26476c7fc5fSjoerg clang/Basic/DiagnosticSemaKinds.inc|-gen-clang-diags-defs^-clang-component=Sema \ 26576c7fc5fSjoerg clang/Basic/DiagnosticSerializationKinds.inc|-gen-clang-diags-defs^-clang-component=Serialization 26676c7fc5fSjoerg 267*53d1339bSjoergCLANG_TABLEGEN_INCLUDES.arm_cde.td= -I${CLANG_SRCDIR}/include/clang/Basic 268*53d1339bSjoergCLANG_TABLEGEN_OUTPUT.arm_cde.td= \ 269*53d1339bSjoerg clang/Basic/arm_cde_builtins.inc|-gen-arm-cde-builtin-def \ 270*53d1339bSjoerg clang/Basic/arm_cde_builtin_cg.inc|-gen-arm-cde-builtin-codegen \ 271*53d1339bSjoerg clang/Basic/arm_cde_builtin_sema.inc|-gen-arm-cde-builtin-sema \ 272*53d1339bSjoerg clang/Basic/arm_cde_builtin_aliases.inc|-gen-arm-cde-builtin-aliases 273*53d1339bSjoerg 274*53d1339bSjoergCLANG_TABLEGEN_INCLUDES.arm_sve.td= -I${CLANG_SRCDIR}/include/clang/Basic 275*53d1339bSjoergCLANG_TABLEGEN_OUTPUT.arm_sve.td= \ 276*53d1339bSjoerg clang/Basic/arm_sve_builtins.inc|-gen-arm-sve-builtins \ 277*53d1339bSjoerg clang/Basic/arm_sve_builtin_cg.inc|-gen-arm-sve-builtin-codegen \ 278*53d1339bSjoerg clang/Basic/arm_sve_sema_rangechecks.inc|-gen-arm-sve-sema-rangechecks \ 279*53d1339bSjoerg clang/Basic/arm_sve_typeflags.inc|-gen-arm-sve-typeflags 28076c7fc5fSjoerg 28176c7fc5fSjoergCLANG_TABLEGEN_INCLUDES.arm_neon.td= -I${CLANG_SRCDIR}/include/clang/Basic 28276c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.arm_neon.td= \ 28376c7fc5fSjoerg clang/Basic/arm_neon.inc|-gen-arm-neon-sema \ 28476c7fc5fSjoerg arm_neon.h|-gen-arm-neon 28576c7fc5fSjoerg 28676c7fc5fSjoergCLANG_TABLEGEN_INCLUDES.arm_fp16.td= -I${CLANG_SRCDIR}/include/clang/Basic 28776c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.arm_fp16.td= \ 28876c7fc5fSjoerg clang/Basic/arm_fp16.inc|-gen-arm-neon-sema 28976c7fc5fSjoergCLANG_TABLEGEN_INCLUDES.arm_mve.td= -I${CLANG_SRCDIR}/include/clang/Basic 29076c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.arm_mve.td= \ 29176c7fc5fSjoerg clang/Basic/arm_mve_builtins.inc|-gen-arm-mve-builtin-def \ 29276c7fc5fSjoerg clang/Basic/arm_mve_builtin_aliases.inc|-gen-arm-mve-builtin-aliases \ 29376c7fc5fSjoerg clang/Basic/arm_mve_builtin_cg.inc|-gen-arm-mve-builtin-codegen \ 29476c7fc5fSjoerg clang/Basic/arm_mve_builtin_sema.inc|-gen-arm-mve-builtin-sema \ 29576c7fc5fSjoerg 296*53d1339bSjoerg#CLANG_TABLEGEN_INCLUDES.riscv_vector.td= -I${CLANG_SRCDIR}/include/clang/Basic 297*53d1339bSjoergCLANG_TABLEGEN_OUTPUT.riscv_vector.td= \ 298*53d1339bSjoerg clang/Basic/riscv_vector_builtins.inc|-gen-riscv-vector-builtins \ 299*53d1339bSjoerg clang/Basic/riscv_vector_builtin_cg.inc|-gen-riscv-vector-builtin-codegen 300*53d1339bSjoerg 30176c7fc5fSjoergCLANG_TABLEGEN_INCLUDES.Checkers.td= \ 30276c7fc5fSjoerg -I${CLANG_SRCDIR}/include \ 30376c7fc5fSjoerg -I${CLANG_SRCDIR}/include/clang/StaticAnalyzer/Checkers 30476c7fc5fSjoergCLANG_TABLEGEN_OUTPUT.Checkers.td= \ 30576c7fc5fSjoerg clang/StaticAnalyzer/Checkers/Checkers.inc|-gen-clang-sa-checkers 30676c7fc5fSjoerg 30776c7fc5fSjoergTABLEGEN_INCLUDES.Options.td= -I${CLANG_SRCDIR}/include/clang/Driver 30876c7fc5fSjoergTABLEGEN_OUTPUT.Options.td= \ 30976c7fc5fSjoerg clang/Driver/Options.inc|-gen-opt-parser-defs 310*53d1339bSjoerg 31176c7fc5fSjoerg.endif # MKLLVM 31276c7fc5fSjoerg 31376c7fc5fSjoerg.include "${.PARSEDIR}/../tablegen.mk" 31476c7fc5fSjoerg 31576c7fc5fSjoergDPSRCS+= llvm/Support/VCSRevision.h 31676c7fc5fSjoergDPSRC+= llvm/Support/VCSRevision.h 31776c7fc5fSjoerg 31876c7fc5fSjoergllvm/Support/VCSRevision.h: ${LLVM_TOPLEVEL}/Makefile.inc 31976c7fc5fSjoerg mkdir -p ${.TARGET:H} 32076c7fc5fSjoerg printf '#define LLVM_REVISION "git-${LLVM_REVISION}"\n' >> ${.TARGET}.tmp 32176c7fc5fSjoerg mv ${.TARGET}.tmp ${.TARGET} 32276c7fc5fSjoerg 32376c7fc5fSjoerg.if ${MKLLVM} != "no" 32476c7fc5fSjoergDPSRCS+= clang/Basic/Version.inc 32576c7fc5fSjoergCLEANFILES+= clang/Basic/Version.inc 32676c7fc5fSjoerg 32776c7fc5fSjoergclang/Basic/Version.inc: ${LLVM_TOPLEVEL}/Makefile.inc 32876c7fc5fSjoerg mkdir -p ${.TARGET:H} 32976c7fc5fSjoerg printf '#define CLANG_VERSION ${CLANG_VERSION}\n' > ${.TARGET}.tmp 33076c7fc5fSjoerg printf '#define CLANG_VERSION_STRING "${CLANG_VERSION}"\n' >> ${.TARGET}.tmp 33176c7fc5fSjoerg printf '#define CLANG_VERSION_MAJOR ${CLANG_VERSION:R:R}\n' >> ${.TARGET}.tmp 33276c7fc5fSjoerg printf '#define CLANG_VERSION_MINOR ${CLANG_VERSION:R:E}\n' >> ${.TARGET}.tmp 33376c7fc5fSjoerg printf '#define CLANG_VERSION_PATCHLEVEL ${CLANG_VERSION:R:R}\n' >> ${.TARGET}.tmp 33476c7fc5fSjoerg mv ${.TARGET}.tmp ${.TARGET} 33576c7fc5fSjoerg.endif # MKLLVM 33676c7fc5fSjoerg 33776c7fc5fSjoerg.ifndef HOST_BUILD 33876c7fc5fSjoerg 33976c7fc5fSjoergDPSRCS+= llvm/Config/config.h llvm/Config/llvm-config.h 34076c7fc5fSjoergCLEANFILES+= llvm/Config/config.h llvm/Config/llvm-config.h 34176c7fc5fSjoerg 34276c7fc5fSjoergNATIVE_LIBS= -lm -lexecinfo 34376c7fc5fSjoerg 34476c7fc5fSjoerg.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 34576c7fc5fSjoergNATIVE_LLVM_ARCH= X86 34676c7fc5fSjoerg.endif 34776c7fc5fSjoerg 34876c7fc5fSjoerg.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "aarch64eb" 34976c7fc5fSjoergNATIVE_LLVM_ARCH= AArch64 35076c7fc5fSjoerg.endif 35176c7fc5fSjoerg 35276c7fc5fSjoerg.if !empty(MACHINE_ARCH:Mearm*) || !empty(MACHINE_ARCH:Marm*) 35376c7fc5fSjoergNATIVE_LLVM_ARCH= ARM 35476c7fc5fSjoerg.endif 35576c7fc5fSjoerg 35676c7fc5fSjoerg.if !empty(MACHINE_ARCH:Mmips*) 35776c7fc5fSjoergNATIVE_LLVM_ARCH= Mips 35876c7fc5fSjoerg.endif 35976c7fc5fSjoerg 36076c7fc5fSjoerg.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" 36176c7fc5fSjoergNATIVE_LLVM_ARCH= PowerPC 36276c7fc5fSjoerg.endif 36376c7fc5fSjoerg 36476c7fc5fSjoerg.if ${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64" 36576c7fc5fSjoergNATIVE_LLVM_ARCH= Sparc 36676c7fc5fSjoerg.endif 36776c7fc5fSjoerg 36876c7fc5fSjoerg.if defined(NATIVE_LLVM_ARCH) 36976c7fc5fSjoergNATIVE_LLVM_ASMPARSER= LLVMInitialize${NATIVE_LLVM_ARCH}AsmParser 37076c7fc5fSjoergNATIVE_LLVM_ASMPRINTER= LLVMInitialize${NATIVE_LLVM_ARCH}AsmPrinter 37176c7fc5fSjoergNATIVE_LLVM_DISASSEMBLER= LLVMInitialize${NATIVE_LLVM_ARCH}Disassembler 37276c7fc5fSjoergNATIVE_LLVM_TARGET= LLVMInitialize${NATIVE_LLVM_ARCH}Target 37376c7fc5fSjoergNATIVE_LLVM_TARGETINFO= LLVMInitialize${NATIVE_LLVM_ARCH}TargetInfo 37476c7fc5fSjoergNATIVE_LLVM_TARGETMC= LLVMInitialize${NATIVE_LLVM_ARCH}TargetMC 37576c7fc5fSjoerg.endif 37676c7fc5fSjoerg 37776c7fc5fSjoergllvm/Config/config.h: ${LLVM_TOPLEVEL}/Makefile.inc ${LLVM_TOPLEVEL}/config/llvm/Config/config.h.in 37876c7fc5fSjoerg mkdir -p ${.TARGET:H} 37976c7fc5fSjoerg ${TOOL_SED} -e /LLVM_DEFAULT_TARGET_TRIPLE/d \ 38076c7fc5fSjoerg -e /LLVM_HOST_TRIPLE/d \ 38176c7fc5fSjoerg -e /LLVM_NATIVE_/d \ 38276c7fc5fSjoerg -e /LLVM_VERSION_/d \ 38376c7fc5fSjoerg -e /PACKAGE_VERSION/d -e 'x' \ 38476c7fc5fSjoerg < ${LLVM_TOPLEVEL}/config/llvm/Config/config.h.in \ 38576c7fc5fSjoerg > ${.TARGET}.tmp 38676c7fc5fSjoerg printf '#define LLVM_DEFAULT_TARGET_TRIPLE "${MACHINE_GNU_PLATFORM}"\n' >> ${.TARGET}.tmp 38776c7fc5fSjoerg printf '#define LLVM_HOST_TRIPLE "${MACHINE_GNU_PLATFORM}"\n' >> ${.TARGET}.tmp 38876c7fc5fSjoerg.if defined(NATIVE_LLVM_ARCH) 38976c7fc5fSjoerg printf '#define LLVM_NATIVE_ARCH ${NATIVE_LLVM_ARCH}\n' >> ${.TARGET}.tmp 39076c7fc5fSjoerg printf '#define LLVM_NATIVE_ASMPARSER ${NATIVE_LLVM_ASMPARSER}\n' >> ${.TARGET}.tmp 39176c7fc5fSjoerg printf '#define LLVM_NATIVE_ASMPRINTER ${NATIVE_LLVM_ASMPRINTER}\n' >> ${.TARGET}.tmp 39276c7fc5fSjoerg printf '#define LLVM_NATIVE_DISASSEMBLER ${NATIVE_LLVM_DISASSEMBLER}\n' >> ${.TARGET}.tmp 39376c7fc5fSjoerg printf '#define LLVM_NATIVE_TARGET ${NATIVE_LLVM_TARGET}\n' >> ${.TARGET}.tmp 39476c7fc5fSjoerg printf '#define LLVM_NATIVE_TARGETINFO ${NATIVE_LLVM_TARGETINFO}\n' >> ${.TARGET}.tmp 39576c7fc5fSjoerg printf '#define LLVM_NATIVE_TARGETMC ${NATIVE_LLVM_TARGETMC}\n' >> ${.TARGET}.tmp 39676c7fc5fSjoerg.endif 39776c7fc5fSjoerg printf '#define PACKAGE_VERSION "${LLVM_VERSION} (trunk ${LLVM_REVISION})"\n' >> ${.TARGET}.tmp 39876c7fc5fSjoerg printf '#define LLVM_VERSION_MAJOR ${LLVM_VERSION:R:R}\n' >> ${.TARGET}.tmp 39976c7fc5fSjoerg printf '#define LLVM_VERSION_MINOR ${LLVM_VERSION:R:E}\n' >> ${.TARGET}.tmp 40076c7fc5fSjoerg printf '#define LLVM_VERSION_PATCH ${LLVM_VERSION:E}\n' >> ${.TARGET}.tmp 40176c7fc5fSjoerg printf '#define LLVM_VERSION_STRING "${LLVM_VERSION}"\n' >> ${.TARGET}.tmp 40276c7fc5fSjoerg printf '#endif\n' >> ${.TARGET}.tmp 40376c7fc5fSjoerg mv ${.TARGET}.tmp ${.TARGET} 40476c7fc5fSjoerg 40576c7fc5fSjoergllvm/Config/llvm-config.h: ${LLVM_TOPLEVEL}/Makefile.inc ${LLVM_TOPLEVEL}/config/llvm/Config/llvm-config.h.in 40676c7fc5fSjoerg mkdir -p ${.TARGET:H} 40776c7fc5fSjoerg ${TOOL_SED} -e /LLVM_DEFAULT_TARGET_TRIPLE/d \ 40876c7fc5fSjoerg -e /LLVM_HOST_TRIPLE/d \ 40976c7fc5fSjoerg -e /LLVM_NATIVE_/d \ 41076c7fc5fSjoerg -e /LLVM_VERSION_/d \ 41176c7fc5fSjoerg -e /PACKAGE_VERSION/d -e 'x' \ 41276c7fc5fSjoerg < ${LLVM_TOPLEVEL}/config/llvm/Config/llvm-config.h.in \ 41376c7fc5fSjoerg > ${.TARGET}.tmp 41476c7fc5fSjoerg printf '#define LLVM_DEFAULT_TARGET_TRIPLE "${MACHINE_GNU_PLATFORM}"\n' >> ${.TARGET}.tmp 41576c7fc5fSjoerg printf '#define LLVM_HOST_TRIPLE "${MACHINE_GNU_PLATFORM}"\n' >> ${.TARGET}.tmp 41676c7fc5fSjoerg.if defined(NATIVE_LLVM_ARCH) 41776c7fc5fSjoerg printf '#define LLVM_NATIVE_ARCH ${NATIVE_LLVM_ARCH}\n' >> ${.TARGET}.tmp 41876c7fc5fSjoerg printf '#define LLVM_NATIVE_ASMPARSER ${NATIVE_LLVM_ASMPARSER}\n' >> ${.TARGET}.tmp 41976c7fc5fSjoerg printf '#define LLVM_NATIVE_ASMPRINTER ${NATIVE_LLVM_ASMPRINTER}\n' >> ${.TARGET}.tmp 42076c7fc5fSjoerg printf '#define LLVM_NATIVE_DISASSEMBLER ${NATIVE_LLVM_DISASSEMBLER}\n' >> ${.TARGET}.tmp 42176c7fc5fSjoerg printf '#define LLVM_NATIVE_TARGET ${NATIVE_LLVM_TARGET}\n' >> ${.TARGET}.tmp 42276c7fc5fSjoerg printf '#define LLVM_NATIVE_TARGETINFO ${NATIVE_LLVM_TARGETINFO}\n' >> ${.TARGET}.tmp 42376c7fc5fSjoerg printf '#define LLVM_NATIVE_TARGETMC ${NATIVE_LLVM_TARGETMC}\n' >> ${.TARGET}.tmp 42476c7fc5fSjoerg.endif 42576c7fc5fSjoerg printf '#define LLVM_VERSION_MAJOR ${LLVM_VERSION:R:R}\n' >> ${.TARGET}.tmp 42676c7fc5fSjoerg printf '#define LLVM_VERSION_MINOR ${LLVM_VERSION:R:E}\n' >> ${.TARGET}.tmp 42776c7fc5fSjoerg printf '#define LLVM_VERSION_PATCH ${LLVM_VERSION:E}\n' >> ${.TARGET}.tmp 42876c7fc5fSjoerg printf '#define LLVM_VERSION_STRING "${LLVM_VERSION}"\n' >> ${.TARGET}.tmp 42976c7fc5fSjoerg printf '#endif\n' >> ${.TARGET}.tmp 43076c7fc5fSjoerg mv ${.TARGET}.tmp ${.TARGET} 43176c7fc5fSjoerg 43276c7fc5fSjoergrun-configure: 43376c7fc5fSjoerg [ ! -d tmp ] || rm -r tmp 43476c7fc5fSjoerg mkdir -p tmp 43576c7fc5fSjoerg cd tmp && CONFIG_SITE= ${CONFIG_DIR}/configure ${LLVM_CONFIGURE_ARGS} \ 43676c7fc5fSjoerg CC=${CC:Q} CFLAGS=${CFLAGS:N-Werror:Q} CXX=${CXX:Q} CXXFLAGS=${CXXFLAGS:N-Werror:Q} \ 43776c7fc5fSjoerg CPPFLAGS=${CPPFLAGS:N-std=c++11:Q} LDFLAGS=${LDFLAGS:Q} LD=${LD:Q} LIBS=${NATIVE_LIBS:Q} \ 43876c7fc5fSjoerg BUILD_CC=${CC:Q} BUILD_CXX=${CXX:Q} 43976c7fc5fSjoerg cp -r tmp/include/llvm/* ${LLVM_INCLUDE_CONFIG}/llvm/ 44076c7fc5fSjoerg mv ${LLVM_INCLUDE_CONFIG}/llvm/Config/llvm-config.h \ 44176c7fc5fSjoerg ${LLVM_INCLUDE_CONFIG}/llvm/Config/llvm-config.h.in 44276c7fc5fSjoerg cp -r tmp/include/clang/* ${CLANG_INCLUDE_CONFIG}/clang/ 44376c7fc5fSjoerg rm -r tmp 44476c7fc5fSjoerg mv ${LLVM_INCLUDE_CONFIG}/llvm/Config/config.h \ 44576c7fc5fSjoerg ${LLVM_INCLUDE_CONFIG}/llvm/Config/config.h.in 446*53d1339bSjoerg cp ${.CURDIR}/module.modulemap ${LLVM_INCLUDE_CONFIG}/llvm/module.modulemap 44776c7fc5fSjoerg.endif 44876c7fc5fSjoerg 449*53d1339bSjoergDPSRCS+= llvm/Support/Extension.def 450*53d1339bSjoergCLEANFILES+= llvm/Support/Extension.def 451*53d1339bSjoerg 452*53d1339bSjoergllvm/Support/Extension.def: 453*53d1339bSjoerg mkdir -p ${.TARGET:H} 454*53d1339bSjoerg printf '//extension handlers\n#undef HANDLE_EXTENSION\n' > ${.TARGET} 455*53d1339bSjoerg 45676c7fc5fSjoergincludes depend dependall all: ${DPSRCS} 45776c7fc5fSjoerg 458*53d1339bSjoergdepend dependall: clean-modulecache 459*53d1339bSjoerg 460*53d1339bSjoergclean-modulecache: 461*53d1339bSjoerg rm -rf ${LLVM_MODULE_CACHE} 462*53d1339bSjoerg 46376c7fc5fSjoerg.include <bsd.prog.mk> 464