# # Name: Makehead.hurd # # Purpose: This file is used to customize operating system and installation # dependent features of the Mp makefiles. This version is # customized for GNU Hurd. # #MX_PYTHON = 2.7 ifndef MX_PYTHON MX_PYTHON = $(shell python3 -V 2>&1 | cut -f2 -d' ' | cut -c1-3) endif $(info Python is [${MX_PYTHON}]) PYTHON_INCLUDES = -I/usr/include/python$(MX_PYTHON) PYTHON_LINK = $(shell python$(MX_PYTHON)-config --ldflags) PYTHON_MAJOR = $(shell echo $(MX_PYTHON) | cut -f1 -d'.') $(info PYTHON_MAJOR is [${PYTHON_MAJOR}]) # MpNum.py - Requires the 'numpy' module. OPTIONAL_MODULES += MpNum.pyc # #========================================================================= # _pycache_exists = $(shell ../../mx/scripts/directory_exists __pycache__) $(info _pycache_exists is [${_pycache_exists}]) # #========================================================================= # # Generally, you should not have to modify anything after this point. # ifeq ($(PYTHON_MAJOR),2) ifeq ($(MP_DEBUG),true) PYTHON = python-dbg else PYTHON = python endif else ifeq ($(MP_DEBUG),true) PYTHON = python$(MX_PYTHON)-dbg else PYTHON = python$(MX_PYTHON) endif endif $(info PYTHON is [${PYTHON}]) #=== PYTHON_BIN = $(shell which ${PYTHON}) $(info PYTHON_BIN is [${PYTHON_BIN}]) ifeq ($(MP_DEBUG),true) MP_DEBUG_LIBRARY = $(MP_DEBUG_LIBRARY_PATH) endif MP_BUILD_PYC = $(PYTHON) MpBuildPyc.pyx CFLAGS = -g -O -fPIC $(GCCFLAGS) $(INCLUDES) $(PYTHON_INCLUDES)\ -DOS_HURD $(EXTRA_FLAGS) -DDEBUG MAKEDEPEND = gcc -MM $(CFLAGS) libMp.c mp_*.c > Makefile.depend MAKEDEPEND_CLEAN = rm Makefile.depend #--------------------------------------------------------------------- LIBMP_OBJS = $(LIBMP_SRCS:.c=.$(OBJ)) LIBMP_STATIC_NAME = libMp.a LIBMP_NAME = $(LIBMP_STATIC_NAME) LIBMP_DELETE = rm $(LIBMP_NAME) #--- $(LIBMP_NAME): $(LIBMP_OBJS) -$(LIBMP_DELETE) ar rc $(LIBMP_STATIC_NAME) $(LIBMP_OBJS) ranlib $(LIBMP_STATIC_NAME) #--------------------------------------------------------------------- MP_PYTHON_MODULES = Mp.pyc MpScan.pyc MP_MODULE_NAME = MpPrivate.so MP_MODULE_OBJS = $(MP_MODULE_SRCS:.c=.o) #--------------------------------------------------------------------- MP_MODULE_DELETE = rm $(MP_MODULE_NAME) $(MP_MODULE_NAME): $(MP_MODULE_OBJS) -$(MP_MODULE_DELETE) gcc -g -shared -o $(MP_MODULE_NAME) \ $(MP_MODULE_DIRS) $(MP_MODULE_OBJS) \ $(MP_LIBRARIES) $(LIBMP_NAME) -lc # echo "#! ${PYTHON_BIN}" > mpscript.temp tail -n +2 ../mpscript/mpscript >> mpscript.temp # echo "#! ${PYTHON_BIN}" > mpenv.temp tail -n +2 ../mpscript/mpenv >> mpenv.temp #--------------------------------------------------------------------- INCLUDES = -I$(LIBMXSRC) MP_MODULE_DIRS = -L$(LIBMXSRC) $(LIB_DIRS) MP_LIBRARIES = -lMx $(LIBRARIES) #--------------------------------------------------------------------- mp_install: -mkdir $(MX_INSTALL_DIR)/bin -mkdir $(MX_INSTALL_DIR)/lib -mkdir $(MX_INSTALL_DIR)/lib/mp cp *.py $(MX_INSTALL_DIR)/lib/mp cp *.so $(MX_INSTALL_DIR)/lib/mp cp ../mpscript/mpshell $(MX_INSTALL_DIR)/bin cp mpscript.temp $(MX_INSTALL_DIR)/bin/mpscript cp mpenv.temp $(MX_INSTALL_DIR)/bin/mpenv ifeq ($(_pycache_exists),false) cp *.pyc $(MX_INSTALL_DIR)/lib/mp else -mkdir $(MX_INSTALL_DIR)/lib/mp/__pycache__ -cp __pycache__/*.pyc $(MX_INSTALL_DIR)/lib/mp/__pycache__ endif