llvm-project/lldb/source/Interpreter/Makefile

52 lines
2.2 KiB
Makefile

##===- source/Interpreter/Makefile ------------------------*- Makefile -*-===##
#
# The LLVM Compiler Infrastructure
#
# This file is distributed under the University of Illinois Open Source
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
LLDB_LEVEL := ../..
LIBRARYNAME := lldbInterpreter
BUILD_ARCHIVE = 1
include $(LLDB_LEVEL)/../../Makefile.config
ifneq ($(HOST_OS),MingW)
ifeq (,$(findstring -DLLDB_DISABLE_PYTHON,$(CXXFLAGS)))
DO_BUILD_LLDBWrapPython = 1
BUILT_SOURCES := LLDBWrapPython.cpp
endif
endif
include $(LLDB_LEVEL)/Makefile
-include $(PROJ_OBJ_DIR)/LLDBWrapPython.cpp.d
ifeq ($(DO_BUILD_LLDBWrapPython),1)
# Drop -Wfour-char-constants, which we are not currently clean with.
EXTRA_OPTIONS += -Wno-four-char-constants
# Drop -Wself-assign, -Wmissing-field-initializers, -Wsometimes-uninitialized,
# -Wcast-qual, and -Wdeprecated-register which we are not clean with due to SWIG
# generated cpp source.
EXTRA_OPTIONS += -Wno-missing-field-initializers -Wno-self-assign -Wno-sometimes-uninitialized -Wno-cast-qual -Wno-deprecated-register
PYTHON_DIR := $(PROJ_OBJ_ROOT)/$(BuildMode)
SWIG_SOURCES := $(shell find $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts -type f -name '*.swig' -print)
LLDBWrapPython.cpp lldb.py: $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/modify-python-lldb.py \
$(wildcard $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/interface/*.i) \
${SWIG_SOURCES}
$(Echo) Generating LLDBWrapPython.cpp
$(Verb) "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/build-swig-wrapper-classes.sh" "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)" "$(PROJ_OBJ_DIR)" "$(PROJ_OBJ_DIR)" "$(PYTHON_DIR)" -m $(if $(DISABLE_AUTO_DEPENDENCIES),,-M)
$(Verb) "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/finish-swig-wrapper-classes.sh" "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)" "$(PROJ_OBJ_DIR)" "$(PROJ_OBJ_DIR)" "$(PYTHON_DIR)" -m
install-local:: lldb.py
$(Echo) Installing $(BuildMode) LLDB python modules
$(Verb) "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/finish-swig-wrapper-classes.sh" "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)" "$(PROJ_OBJ_DIR)" "$(PROJ_OBJ_DIR)" "$(DESTDIR)$(prefix)" -m
clean-local::
$(Verb) $(RM) -f LLDBWrapPython.cpp lldb.py
endif