postgresql/src/backend/jit/llvm/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