xref: /netbsd-src/external/apache2/llvm/librt/Makefile (revision df586bec40c5e5afcc4bb8190fdbe9477fa40500)
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