1 # $NetBSD: Makefile,v 1.5 2023/07/15 21:14:01 rjs Exp $ 2 3 .include <bsd.own.mk> 4 5 BUILD_RADEON=0 6 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \ 7 ${MACHINE} == "evbarm" 8 BUILD_RADEON=1 9 .endif 10 11 SUBDIR= 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 57 SUBDIR+= \ 58 libLLVMAMDGPUCodeGen 59 .endif 60 61 .if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "aarch64eb" 62 SUBDIR+= \ 63 libLLVMAArch64CodeGen 64 .endif 65 .if !empty(MACHINE_ARCH:Mearm*) || !empty(MACHINE_ARCH:Marm*) 66 SUBDIR+= \ 67 libLLVMARMCodeGen 68 .endif 69 .if !empty(MACHINE_ARCH:Mmips*) 70 SUBDIR+= \ 71 libLLVMMipsCodeGen 72 .endif 73 .if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" 74 SUBDIR+= \ 75 libLLVMPowerPCCodeGen 76 .endif 77 .if ${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64" 78 SUBDIR+= \ 79 libLLVMSparcCodeGen 80 .endif 81 82 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 83 SUBDIR+= \ 84 libLLVMX86CodeGen 85 .endif 86 87 # All subdirs below here can build together, and all are optional. 88 SUBDIR+= .WAIT 89 90 .if ${BUILD_RADEON} == 1 91 SUBDIR+= \ 92 libLLVMAMDGPUMCTargetDesc \ 93 libLLVMAMDGPUTargetInfo \ 94 libLLVMAMDGPUAsmParser \ 95 libLLVMAMDGPUDisassembler \ 96 libLLVMAMDGPUUtils 97 .endif 98 99 .if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "aarch64eb" 100 SUBDIR+= \ 101 libLLVMAArch64AsmParser \ 102 libLLVMAArch64Disassembler \ 103 libLLVMAArch64MCTargetDesc \ 104 libLLVMAArch64TargetInfo \ 105 libLLVMAArch64Utils 106 .endif 107 108 .if !empty(MACHINE_ARCH:Mearm*) || !empty(MACHINE_ARCH:Marm*) 109 SUBDIR+= \ 110 libLLVMARMAsmParser \ 111 libLLVMARMDisassembler \ 112 libLLVMARMMCTargetDesc \ 113 libLLVMARMTargetInfo \ 114 libLLVMARMUtils 115 .endif 116 117 .if !empty(MACHINE_ARCH:Mmips*) 118 SUBDIR+= \ 119 libLLVMMipsAsmParser \ 120 libLLVMMipsDisassembler \ 121 libLLVMMipsMCTargetDesc \ 122 libLLVMMipsTargetInfo 123 .endif 124 125 .if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" 126 SUBDIR+= \ 127 libLLVMPowerPCAsmParser \ 128 libLLVMPowerPCDisassembler \ 129 libLLVMPowerPCMCTargetDesc \ 130 libLLVMPowerPCTargetInfo 131 .endif 132 133 .if ${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64" 134 SUBDIR+= \ 135 libLLVMSparcAsmParser \ 136 libLLVMSparcDisassembler \ 137 libLLVMSparcMCTargetDesc \ 138 libLLVMSparcTargetInfo 139 .endif 140 141 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 142 SUBDIR+= \ 143 libLLVMX86AsmParser \ 144 libLLVMX86Disassembler \ 145 libLLVMX86MCTargetDesc \ 146 libLLVMX86TargetInfo 147 .endif 148 149 .include <bsd.subdir.mk> 150