63 lines
1.6 KiB
Makefile
63 lines
1.6 KiB
Makefile
#-------------------------------------------------------------------------
|
|
#
|
|
# Makefile--
|
|
# Makefile the LLVM JIT provider, building it into a shared library.
|
|
#
|
|
# Note that this file is recursed into from src/Makefile, not by the
|
|
# parent directory..
|
|
#
|
|
# IDENTIFICATION
|
|
# src/backend/jit/llvm/Makefile
|
|
#
|
|
#-------------------------------------------------------------------------
|
|
|
|
subdir = src/backend/jit/llvm
|
|
top_builddir = ../../../..
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
ifneq ($(with_llvm), yes)
|
|
$(error "not building with LLVM support")
|
|
endif
|
|
|
|
PGFILEDESC = "llvmjit - JIT using LLVM"
|
|
NAME = llvmjit
|
|
|
|
# All files in this directy use LLVM.
|
|
CFLAGS += $(LLVM_CFLAGS)
|
|
CXXFLAGS += $(LLVM_CXXFLAGS)
|
|
override CPPFLAGS := $(LLVM_CPPFLAGS) $(CPPFLAGS)
|
|
SHLIB_LINK += $(LLVM_LIBS)
|
|
|
|
# Because this module includes C++ files, we need to use a C++
|
|
# compiler for linking. Makefile.shlib uses $(COMPILER) to build
|
|
# loadable modules.
|
|
override COMPILER = $(CXX) $(CFLAGS)
|
|
|
|
OBJS=$(WIN32RES)
|
|
|
|
# Infrastructure
|
|
OBJS += llvmjit.o llvmjit_error.o llvmjit_inline.o llvmjit_wrap.o
|
|
# Code generation
|
|
OBJS += llvmjit_expr.o llvmjit_deform.o
|
|
|
|
all: all-shared-lib llvmjit_types.bc
|
|
|
|
install: all installdirs install-lib install-types
|
|
|
|
installdirs: installdirs-lib
|
|
|
|
uninstall: uninstall-lib uninstall-types
|
|
|
|
# Note this is intentionally not in bitcodedir, as it's not for inlining */
|
|
install-types: llvmjit_types.bc
|
|
$(INSTALL_DATA) llvmjit_types.bc '$(DESTDIR)$(pkglibdir)'
|
|
|
|
uninstall-types:
|
|
rm -f '$(DESTDIR)$(pkglibdir)/llvmjit_types.bc'
|
|
|
|
include $(top_srcdir)/src/Makefile.shlib
|
|
|
|
clean distclean maintainer-clean: clean-lib
|
|
rm -f $(OBJS)
|
|
rm -f llvmjit_types.bc
|