1# $NetBSD: Makefile,v 1.5 2023/07/15 21:14:01 rjs Exp $ 2 3.include <bsd.own.mk> 4 5BUILD_RADEON=0 6.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \ 7 ${MACHINE} == "evbarm" 8BUILD_RADEON=1 9.endif 10 11SUBDIR= libLLVMAnalysis \ 12 libLLVMAsmParser \ 13 libLLVMAsmPrinter \ 14 libLLVMBinaryFormat \ 15 libLLVMBitReader \ 16 libLLVMBitWriter \ 17 libLLVMBitstreamReader \ 18 libLLVMCodeGen \ 19 libLLVMDemangle \ 20 libLLVMDebugInfoCodeView \ 21 libLLVMDebugInfoDWARF \ 22 libLLVMExecutionEngine \ 23 libLLVMExecutionEngineOrcShared \ 24 libLLVMExecutionEngineOrcTargetProcess \ 25 libLLVMFrontendOpenMP \ 26 libLLVMGlobalISel \ 27 libLLVMInstCombine \ 28 libLLVMInstrumentation \ 29 libLLVMipo \ 30 libLLVMIR \ 31 libLLVMIRReader \ 32 libLLVMLinker \ 33 libLLVMMC \ 34 libLLVMMCDisassembler \ 35 libLLVMMCJIT \ 36 libLLVMMCParser \ 37 libLLVMMIRParser \ 38 libLLVMObject \ 39 libLLVMObjCARC \ 40 libLLVMOrc \ 41 libLLVMPasses \ 42 libLLVMProfileData \ 43 libLLVMRemarks \ 44 libLLVMRuntimeDyld \ 45 libLLVMScalarOpts \ 46 libLLVMSelectionDAG \ 47 libLLVMSupport \ 48 libLLVMTarget \ 49 libLLVMTextAPI \ 50 libLLVMTransformsAggressiveInstCombine \ 51 libLLVMTransformsCFGuard \ 52 libLLVMTransformsCoroutines \ 53 libLLVMTransformsUtils \ 54 libLLVMVectorize 55 56.if ${BUILD_RADEON} == 1 57SUBDIR+= \ 58 libLLVMAMDGPUCodeGen 59.endif 60 61.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "aarch64eb" 62SUBDIR+= \ 63 libLLVMAArch64CodeGen 64.endif 65.if !empty(MACHINE_ARCH:Mearm*) || !empty(MACHINE_ARCH:Marm*) 66SUBDIR+= \ 67 libLLVMARMCodeGen 68.endif 69.if !empty(MACHINE_ARCH:Mmips*) 70SUBDIR+= \ 71 libLLVMMipsCodeGen 72.endif 73.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" 74SUBDIR+= \ 75 libLLVMPowerPCCodeGen 76.endif 77.if ${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64" 78SUBDIR+= \ 79 libLLVMSparcCodeGen 80.endif 81 82.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 83SUBDIR+= \ 84 libLLVMX86CodeGen 85.endif 86 87# All subdirs below here can build together, and all are optional. 88SUBDIR+= .WAIT 89 90.if ${BUILD_RADEON} == 1 91SUBDIR+= \ 92 libLLVMAMDGPUMCTargetDesc \ 93 libLLVMAMDGPUTargetInfo \ 94 libLLVMAMDGPUAsmParser \ 95 libLLVMAMDGPUDisassembler \ 96 libLLVMAMDGPUUtils 97.endif 98 99.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "aarch64eb" 100SUBDIR+= \ 101 libLLVMAArch64AsmParser \ 102 libLLVMAArch64Disassembler \ 103 libLLVMAArch64MCTargetDesc \ 104 libLLVMAArch64TargetInfo \ 105 libLLVMAArch64Utils 106.endif 107 108.if !empty(MACHINE_ARCH:Mearm*) || !empty(MACHINE_ARCH:Marm*) 109SUBDIR+= \ 110 libLLVMARMAsmParser \ 111 libLLVMARMDisassembler \ 112 libLLVMARMMCTargetDesc \ 113 libLLVMARMTargetInfo \ 114 libLLVMARMUtils 115.endif 116 117.if !empty(MACHINE_ARCH:Mmips*) 118SUBDIR+= \ 119 libLLVMMipsAsmParser \ 120 libLLVMMipsDisassembler \ 121 libLLVMMipsMCTargetDesc \ 122 libLLVMMipsTargetInfo 123.endif 124 125.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" 126SUBDIR+= \ 127 libLLVMPowerPCAsmParser \ 128 libLLVMPowerPCDisassembler \ 129 libLLVMPowerPCMCTargetDesc \ 130 libLLVMPowerPCTargetInfo 131.endif 132 133.if ${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64" 134SUBDIR+= \ 135 libLLVMSparcAsmParser \ 136 libLLVMSparcDisassembler \ 137 libLLVMSparcMCTargetDesc \ 138 libLLVMSparcTargetInfo 139.endif 140 141.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 142SUBDIR+= \ 143 libLLVMX86AsmParser \ 144 libLLVMX86Disassembler \ 145 libLLVMX86MCTargetDesc \ 146 libLLVMX86TargetInfo 147.endif 148 149.include <bsd.subdir.mk> 150