1*43d0313fSmiod# $OpenBSD: Makefile,v 1.9 2024/02/08 20:28:54 miod Exp $
2d1df930fSpatrick
3d1df930fSpatrickLIB=	LLVMExecutionEngine
4d1df930fSpatrickNOPROFILE=
5d1df930fSpatrick
6c04ab3e3SpatrickCPPFLAGS+=	-I${LLVM_SRCS}/include/llvm/ExecutionEngine \
7c04ab3e3Spatrick		-I${LLVM_SRCS}/include/llvm/ExecutionEngine/JITLink \
81ad61ae0Srobert		-I${LLVM_SRCS}/include/llvm/ExecutionEngine/Orc \
91ad61ae0Srobert		-I${.OBJDIR}/../include/llvm/ExecutionEngine/JITLink
10d1df930fSpatrick
11c04ab3e3Spatrick# ExecutionEngine
12c04ab3e3SpatrickSRCS+=	ExecutionEngine.cpp \
13d1df930fSpatrick	ExecutionEngineBindings.cpp \
14d1df930fSpatrick	GDBRegistrationListener.cpp \
15c04ab3e3Spatrick	SectionMemoryManager.cpp \
16c04ab3e3Spatrick	TargetSelect.cpp
17c04ab3e3Spatrick
18c04ab3e3Spatrick# Interpreter
19c04ab3e3SpatrickSRCS+=	Execution.cpp \
20c04ab3e3Spatrick	ExternalFunctions.cpp \
21c04ab3e3Spatrick	Interpreter.cpp
22c04ab3e3Spatrick
23c04ab3e3Spatrick# JITLink
241ad61ae0SrobertSRCS+=	DWARFRecordSectionSplitter.cpp \
251ad61ae0Srobert	EHFrameSupport.cpp \
261ad61ae0Srobert	JITLink.cpp \
27aa1fa3d4Spatrick	JITLinkGeneric.cpp \
28aa1fa3d4Spatrick	JITLinkMemoryManager.cpp \
29c04ab3e3Spatrick	ExecutionEngineMachO.cpp \
30aa1fa3d4Spatrick	MachO_arm64.cpp \
31aa1fa3d4Spatrick	MachO_x86_64.cpp \
32c04ab3e3Spatrick	MachOLinkGraphBuilder.cpp \
33c04ab3e3Spatrick	ExecutionEngineELF.cpp \
345a38ef86Spatrick	ELFLinkGraphBuilder.cpp \
351ad61ae0Srobert	ELF_aarch64.cpp \
361ad61ae0Srobert	ELF_i386.cpp \
371ad61ae0Srobert	ELF_loongarch.cpp \
385a38ef86Spatrick	ELF_riscv.cpp \
395a38ef86Spatrick	ELF_x86_64.cpp \
401ad61ae0Srobert	ExecutionEngineCOFF.cpp \
411ad61ae0Srobert	COFFDirectiveParser.cpp \
421ad61ae0Srobert	COFFLinkGraphBuilder.cpp \
431ad61ae0Srobert	COFF_x86_64.cpp \
441ad61ae0Srobert	aarch64.cpp \
451ad61ae0Srobert	i386.cpp \
461ad61ae0Srobert	loongarch.cpp \
475a38ef86Spatrick	riscv.cpp \
485a38ef86Spatrick	x86_64.cpp
49c04ab3e3Spatrick
50c04ab3e3Spatrick# MCJIT
51c04ab3e3SpatrickSRCS+=	MCJIT.cpp
52c04ab3e3Spatrick
535a38ef86Spatrick# OrcShared
541ad61ae0SrobertSRCS+=	AllocationActions.cpp \
551ad61ae0Srobert	OrcError.cpp \
561ad61ae0Srobert	OrcRTBridge.cpp \
571ad61ae0Srobert	SimpleRemoteEPCUtils.cpp
58c04ab3e3Spatrick
595a38ef86Spatrick# OrcTargetProcess
601ad61ae0SrobertSRCS+=	ExecutorSharedMemoryMapperService.cpp \
611ad61ae0Srobert	JITLoaderGDB.cpp \
621ad61ae0Srobert	OrcRTBootstrap.cpp \
635a38ef86Spatrick	RegisterEHFrames.cpp \
641ad61ae0Srobert	SimpleExecutorDylibManager.cpp \
651ad61ae0Srobert	SimpleExecutorMemoryManager.cpp \
661ad61ae0Srobert	SimpleRemoteEPCServer.cpp \
675a38ef86Spatrick	TargetExecutionUtils.cpp
685a38ef86Spatrick
695a38ef86Spatrick# Orc
701ad61ae0SrobertSRCS+=	COFFVCRuntimeSupport.cpp \
711ad61ae0Srobert	COFFPlatform.cpp \
721ad61ae0Srobert	CompileOnDemandLayer.cpp \
73c04ab3e3Spatrick	CompileUtils.cpp \
74c04ab3e3Spatrick	ExecutionEngineCore.cpp \
755a38ef86Spatrick	DebugObjectManagerPlugin.cpp \
761ad61ae0Srobert	DebuggerSupportPlugin.cpp \
77c04ab3e3Spatrick	DebugUtils.cpp \
785a38ef86Spatrick	EPCDynamicLibrarySearchGenerator.cpp \
795a38ef86Spatrick	EPCDebugObjectRegistrar.cpp \
805a38ef86Spatrick	EPCEHFrameRegistrar.cpp \
811ad61ae0Srobert	EPCGenericDylibManager.cpp \
821ad61ae0Srobert	EPCGenericJITLinkMemoryManager.cpp \
831ad61ae0Srobert	EPCGenericRTDyldMemoryManager.cpp \
845a38ef86Spatrick	EPCIndirectionUtils.cpp \
85c04ab3e3Spatrick	ExecutionUtils.cpp \
861ad61ae0Srobert	ObjectFileInterface.cpp \
87c04ab3e3Spatrick	IndirectionUtils.cpp \
88c04ab3e3Spatrick	IRCompileLayer.cpp \
89c04ab3e3Spatrick	IRTransformLayer.cpp \
90c04ab3e3Spatrick	JITTargetMachineBuilder.cpp \
91c04ab3e3Spatrick	LazyReexports.cpp \
92c04ab3e3Spatrick	Layer.cpp \
931ad61ae0Srobert	LookupAndRecordAddrs.cpp \
94c04ab3e3Spatrick	LLJIT.cpp \
95c04ab3e3Spatrick	MachOPlatform.cpp \
961ad61ae0Srobert	MapperJITLinkMemoryManager.cpp \
971ad61ae0Srobert	MemoryMapper.cpp \
981ad61ae0Srobert	ELFNixPlatform.cpp \
99c04ab3e3Spatrick	Mangling.cpp \
100aa1fa3d4Spatrick	ObjectLinkingLayer.cpp \
101c04ab3e3Spatrick	ObjectTransformLayer.cpp \
102d1df930fSpatrick	OrcABISupport.cpp \
103c04ab3e3Spatrick	OrcV2CBindings.cpp \
104c04ab3e3Spatrick	RTDyldObjectLinkingLayer.cpp \
1051ad61ae0Srobert	SimpleRemoteEPC.cpp \
106c04ab3e3Spatrick	Speculation.cpp \
1075a38ef86Spatrick	SpeculateAnalyses.cpp \
1085a38ef86Spatrick	ExecutorProcessControl.cpp \
1091ad61ae0Srobert	TaskDispatch.cpp \
1105a38ef86Spatrick	ThreadSafeModule.cpp
111c04ab3e3Spatrick
112c04ab3e3Spatrick# RuntimeDyld
113c04ab3e3SpatrickSRCS+=	JITSymbol.cpp \
114d1df930fSpatrick	RTDyldMemoryManager.cpp \
115d1df930fSpatrick	RuntimeDyld.cpp \
116d1df930fSpatrick	RuntimeDyldChecker.cpp \
117c04ab3e3Spatrick	RuntimeDyldCOFF.cpp \
118d1df930fSpatrick	RuntimeDyldELF.cpp \
119c04ab3e3Spatrick	RuntimeDyldMachO.cpp
120c04ab3e3Spatrick
121c04ab3e3Spatrick# RuntimeDyld/Targets
122c04ab3e3SpatrickSRCS+=	RuntimeDyldELFMips.cpp
123dd7183d7Sjsg
1241ad61ae0SrobertExecutionEngineCOFF.cpp:
1251ad61ae0Srobert	ln -s ${LLVM_SRCS}/lib/ExecutionEngine/JITLink/COFF.cpp $@
1261ad61ae0Srobert
127dd7183d7SjsgExecutionEngineCore.cpp:
128dd7183d7Sjsg	ln -s ${LLVM_SRCS}/lib/ExecutionEngine/Orc/Core.cpp $@
129d1df930fSpatrick
130c04ab3e3SpatrickExecutionEngineMachO.cpp:
131c04ab3e3Spatrick	ln -s ${LLVM_SRCS}/lib/ExecutionEngine/JITLink/MachO.cpp $@
132c04ab3e3Spatrick
133c04ab3e3SpatrickExecutionEngineELF.cpp:
134c04ab3e3Spatrick	ln -s ${LLVM_SRCS}/lib/ExecutionEngine/JITLink/ELF.cpp $@
135c04ab3e3Spatrick
136aa1fa3d4Spatrick.PATH:	${.CURDIR}/../../../llvm/llvm/lib/ExecutionEngine
137aa1fa3d4Spatrick.PATH:	${.CURDIR}/../../../llvm/llvm/lib/ExecutionEngine/Interpreter
138aa1fa3d4Spatrick.PATH:	${.CURDIR}/../../../llvm/llvm/lib/ExecutionEngine/JITLink
139aa1fa3d4Spatrick.PATH:	${.CURDIR}/../../../llvm/llvm/lib/ExecutionEngine/MCJIT
140aa1fa3d4Spatrick.PATH:	${.CURDIR}/../../../llvm/llvm/lib/ExecutionEngine/Orc
1415a38ef86Spatrick.PATH:	${.CURDIR}/../../../llvm/llvm/lib/ExecutionEngine/Orc/Shared
1425a38ef86Spatrick.PATH:	${.CURDIR}/../../../llvm/llvm/lib/ExecutionEngine/Orc/TargetProcess
143aa1fa3d4Spatrick.PATH:	${.CURDIR}/../../../llvm/llvm/lib/ExecutionEngine/RuntimeDyld
144aa1fa3d4Spatrick.PATH:	${.CURDIR}/../../../llvm/llvm/lib/ExecutionEngine/RuntimeDyld/Targets
145d1df930fSpatrick
146*43d0313fSmiodCLEANFILES+= ExecutionEngineCOFF.cpp \
147*43d0313fSmiod	ExecutionEngineCore.cpp \
148c04ab3e3Spatrick	ExecutionEngineMachO.cpp \
149c04ab3e3Spatrick	ExecutionEngineELF.cpp
150