Makefile updates from p4p
This commit is contained in:
@ -2,24 +2,22 @@ ifneq ($(T_A),)
|
|||||||
|
|
||||||
PYMODULE ?= YES
|
PYMODULE ?= YES
|
||||||
|
|
||||||
ifeq ($(PY_VER),)
|
ifeq ($(PYTHON),)
|
||||||
$(error Must set PY_VER to select a python version)
|
$(error Must set PYTHON to select a python version)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_PY$(PY_VER).$(EPICS_HOST_ARCH).Common
|
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_PY.$(EPICS_HOST_ARCH).Common
|
||||||
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_PY$(PY_VER).Common.$(T_A)
|
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_PY.Common.$(T_A)
|
||||||
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_PY$(PY_VER).$(EPICS_HOST_ARCH).$(T_A)
|
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_PY.$(EPICS_HOST_ARCH).$(T_A)
|
||||||
|
|
||||||
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_SITE_PY$(PY_VER).$(EPICS_HOST_ARCH).Common
|
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_SITE_PY.$(EPICS_HOST_ARCH).Common
|
||||||
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_SITE_PY$(PY_VER).Common.$(T_A)
|
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_SITE_PY.Common.$(T_A)
|
||||||
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_SITE_PY$(PY_VER).$(EPICS_HOST_ARCH).$(T_A)
|
-include $(dir $(lastword $(MAKEFILE_LIST)))/os/CONFIG_SITE_PY.$(EPICS_HOST_ARCH).$(T_A)
|
||||||
|
|
||||||
ifneq ($(PY_OK),YES)
|
ifneq ($(PY_OK),YES)
|
||||||
$(error No usable configuration for python$(PY_VER))
|
$(error No usable configuration for $(PYTHON))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PYTHON ?= python$(PY_VER)
|
|
||||||
|
|
||||||
SHRLIB_DEPLIB_DIRS += $(PY_LIBDIRS)
|
SHRLIB_DEPLIB_DIRS += $(PY_LIBDIRS)
|
||||||
PROD_DEPLIB_DIRS += $(PY_LIBDIRS)
|
PROD_DEPLIB_DIRS += $(PY_LIBDIRS)
|
||||||
|
|
||||||
@ -27,18 +25,29 @@ INCLUDES += $(PY_INCDIRS:%=-I%)
|
|||||||
|
|
||||||
ifeq ($(HAVE_NUMPY),YES)
|
ifeq ($(HAVE_NUMPY),YES)
|
||||||
TARGET_CPPFLAGS += -DHAVE_NUMPY
|
TARGET_CPPFLAGS += -DHAVE_NUMPY
|
||||||
|
else
|
||||||
|
$(error numpy required)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LIB_SYS_LIBS += python$(PY_LD_VER)
|
#LIB_SYS_LIBS += python$(PY_LD_VER)
|
||||||
PROD_SYS_LIBS += python$(PY_LD_VER)
|
#PROD_SYS_LIBS += python$(PY_LD_VER)
|
||||||
|
|
||||||
PY_INSTALL_DIR = $(INSTALL_LOCATION)/python$(PY_VER)/$(T_A)
|
PY_INSTALL_DIR = $(INSTALL_LOCATION)/python$(PY_LD_VER)/$(T_A)
|
||||||
|
|
||||||
|
ifneq ($(PYMODULE),NO)
|
||||||
|
|
||||||
# Python loadables have no prefix (eg 'pymod.so')
|
# Python loadables have no prefix (eg 'pymod.so')
|
||||||
# and are installed alongsize .py files
|
# and are installed alongsize .py files
|
||||||
LOADABLE_SHRLIB_PREFIX =
|
LOADABLE_SHRLIB_PREFIX =
|
||||||
ifneq ($(PYMODULE),NO)
|
|
||||||
INSTALL_SHRLIB = $(PY_INSTALL_DIR)
|
INSTALL_SHRLIB = $(PY_INSTALL_DIR)
|
||||||
|
|
||||||
|
ifeq ($(OS_CLASS),Darwin)
|
||||||
|
# need -undefined dynamic_lookup
|
||||||
|
LOADABLE_SHRLIB_LDFLAGS = -bundle -flat_namespace -undefined dynamic_lookup
|
||||||
|
LOADABLE_SHRLIB_SUFFIX = .so
|
||||||
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@ -37,7 +37,7 @@ PY_VER=2.7
|
|||||||
|
|
||||||
# Module will be build against this version of the
|
# Module will be build against this version of the
|
||||||
# Python interpreter
|
# Python interpreter
|
||||||
#PYTHON = python$(PY_VER)
|
PYTHON ?= python$(PY_VER)
|
||||||
|
|
||||||
-include $(TOP)/configure/CONFIG_SITE.local
|
-include $(TOP)/configure/CONFIG_SITE.local
|
||||||
-include $(TOP)/../CONFIG_SITE.local
|
-include $(TOP)/../CONFIG_SITE.local
|
||||||
|
@ -2,20 +2,19 @@ TOP=..
|
|||||||
|
|
||||||
include $(TOP)/configure/CONFIG
|
include $(TOP)/configure/CONFIG
|
||||||
|
|
||||||
ifeq ($(PY_VER),)
|
|
||||||
$(error Must set PY_VER to select a python version)
|
|
||||||
endif
|
|
||||||
PYTHON ?= python$(PY_VER)
|
PYTHON ?= python$(PY_VER)
|
||||||
|
|
||||||
TARGETS = $(CONFIG_TARGETS)
|
TARGETS = $(CONFIG_TARGETS)
|
||||||
|
|
||||||
ifdef T_A
|
ifdef T_A
|
||||||
CONFIGS = CONFIG_PY RULES_PY os/CONFIG_PY$(PY_VER).Common.$(T_A)
|
CONFIGS = CONFIG_PY RULES_PY os/CONFIG_PY.Common.$(T_A)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
|
||||||
|
|
||||||
include $(TOP)/configure/RULES
|
include $(TOP)/configure/RULES
|
||||||
|
|
||||||
os/CONFIG_PY$(PY_VER).Common.$(T_A): $(TOP)/makehelper.py
|
os/CONFIG_PY.Common.$(T_A): $(TOP)/makehelper.py
|
||||||
[ -d $(dir $@) ] || $(MKDIR) $(dir $@)
|
[ -d $(dir $@) ] || $(MKDIR) $(dir $@)
|
||||||
$(PYTHON) $< $@
|
$(PYTHON) $< $@
|
||||||
|
|
||||||
|
@ -28,23 +28,39 @@ libdirs = [get_config_var('LIBDIR')]
|
|||||||
have_np='NO'
|
have_np='NO'
|
||||||
try:
|
try:
|
||||||
from numpy.distutils.misc_util import get_numpy_include_dirs
|
from numpy.distutils.misc_util import get_numpy_include_dirs
|
||||||
incdirs += get_numpy_include_dirs()
|
incdirs = get_numpy_include_dirs()+incdirs
|
||||||
have_np='YES'
|
have_np='YES'
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
incdirs = [get_python_inc()]+get_numpy_include_dirs()
|
|
||||||
libdirs = [get_config_var('LIBDIR')]
|
|
||||||
|
|
||||||
print('TARGET_CFLAGS +=',get_config_var('BASECFLAGS'), file=out)
|
print('TARGET_CFLAGS +=',get_config_var('BASECFLAGS'), file=out)
|
||||||
print('TARGET_CXXFLAGS +=',get_config_var('BASECFLAGS'), file=out)
|
print('TARGET_CXXFLAGS +=',get_config_var('BASECFLAGS'), file=out)
|
||||||
|
|
||||||
print('PY_VER :=',get_config_var('VERSION'), file=out)
|
print('PY_VER :=',get_config_var('VERSION'), file=out)
|
||||||
print('PY_LD_VER :=',get_config_var('LDVERSION') or get_config_var('VERSION'), file=out)
|
ldver = get_config_var('LDVERSION')
|
||||||
|
if ldver is None:
|
||||||
|
ldver = get_config_var('VERSION')
|
||||||
|
if get_config_var('Py_DEBUG'):
|
||||||
|
ldver = ldver+'_d'
|
||||||
|
print('PY_LD_VER :=',ldver, file=out)
|
||||||
print('PY_INCDIRS :=',' '.join(incdirs), file=out)
|
print('PY_INCDIRS :=',' '.join(incdirs), file=out)
|
||||||
print('PY_LIBDIRS :=',' '.join(libdirs), file=out)
|
print('PY_LIBDIRS :=',' '.join(libdirs), file=out)
|
||||||
print('HAVE_NUMPY :=',have_np, file=out)
|
print('HAVE_NUMPY :=',have_np, file=out)
|
||||||
|
|
||||||
|
try:
|
||||||
|
import asyncio
|
||||||
|
except ImportError:
|
||||||
|
print('HAVE_ASYNCIO := NO', file=out)
|
||||||
|
else:
|
||||||
|
print('HAVE_ASYNCIO := YES', file=out)
|
||||||
|
|
||||||
|
try:
|
||||||
|
import cothread
|
||||||
|
except ImportError:
|
||||||
|
print('HAVE_COTHREAD := NO', file=out)
|
||||||
|
else:
|
||||||
|
print('HAVE_COTHREAD := YES', file=out)
|
||||||
|
|
||||||
print('PY_OK := YES', file=out)
|
print('PY_OK := YES', file=out)
|
||||||
|
|
||||||
out.close()
|
out.close()
|
||||||
|
Reference in New Issue
Block a user