# # Name: Makehead.cygwin # # Purpose: This file is used to customize operating system and installation # dependent features of the Mp makefiles. This version is # customized for Cygwin under Microsoft Windows. # #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_LIBRARY = /usr/lib/libpython$(MX_PYTHON).dll.a #PYTHON_INCLUDES = -I/usr/include/python2.7 #PYTHON_LIBRARY = /usr/lib/python2.7/config/libpython2.7.dll.a #PYTHON_INCLUDES = -I/usr/include/python2.6 #PYTHON_LIBRARY = /usr/lib/python2.6/config/libpython2.6.dll.a #PYTHON_INCLUDES = -I/usr/include/python2.5 #PYTHON_LIBRARY = /usr/lib/python2.5/config/libpython2.5.dll.a _pycache_exists = $(shell ../../mx/scripts/directory_exists __pycache__) $(info _pycache_exists is [${_pycache_exists}]) # # The following optional modules import external Python modules that may not # be available at all sites and for all operating systems. Comment out any # that will not build at your site. # # MpNum.py - Requires the 'numpy' module. OPTIONAL_MODULES += MpNum.pyc # #========================================================================= # # Generally, you should not have to modify anything after this point. # #--------------------------------------------------------------------- # Test for the existence of /usr/lib/librpclib.a and /usr/lib/libtirpc.dll.a _have_rpclib = $(shell ../../mx/scripts/file_exists /usr/lib/librpclib.a) $(info _have_rpclib is [${_have_rpclib}]) _have_tirpc = $(shell ../../mx/scripts/file_exists /usr/lib/libtirpc.dll.a) $(info _have_tirpc is [${_have_tirpc}]) #--------------------------------------------------------------------- PYTHON = python MP_BUILD_PYC = $(PYTHON) MpBuildPyc.pyx CFLAGS = -g -O $(GCCFLAGS) $(INCLUDES) $(PYTHON_INCLUDES)\ -DOS_CYGWIN $(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_NAME = libMp.a LIBMP_STATIC_NAME = $(LIBMP_NAME) LIBMP_DELETE = rm $(LIBMP_NAME) #--- $(LIBMP_NAME): $(LIBMP_OBJS) -$(LIBMP_DELETE) ar rcs libMp.a $(LIBMP_OBJS) ranlib libMp.a dllwrap -o libMp.dll --export-all-symbols \ --output-lib libMp.dll.a $(LIBMP_OBJS) $(PYTHON_LIBRARY) \ ../../mx/libMx/libMx.dll.a $(LIBRARIES) #--------------------------------------------------------------------- MP_PYTHON_MODULES = Mp.pyc MpScan.pyc MP_MODULE_NAME = MpPrivate.dll MP_MODULE_OBJS = $(MP_MODULE_SRCS:.c=.$(OBJ)) #--------------------------------------------------------------------- MP_MODULE_DELETE = rm $(MP_MODULE_NAME) $(MP_MODULE_NAME): $(MP_MODULE_OBJS) -$(MP_MODULE_DELETE) dllwrap -o $(MP_MODULE_NAME) --export-all-symbols \ $(MP_MODULE_OBJS) $(MP_LIBRARIES) $(LIBMP_NAME) $(PYTHON_LIBRARY) #--------------------------------------------------------------------- INCLUDES = -I$(LIBMXSRC) MP_LIBRARIES = $(LIBMXSRC)/libMx.a ifeq ($(_have_rpclib),true) MP_LIBRARIES += -lrpclib endif ifeq ($(_have_tirpc),true) MP_LIBRARIES += -ltirpc endif #--------------------------------------------------------------------- mp_install: -mkdir $(MX_INSTALL_DIR)/bin -mkdir $(MX_INSTALL_DIR)/lib -mkdir $(MX_INSTALL_DIR)/lib/mp install -m 644 *.py $(MX_INSTALL_DIR)/lib/mp install -m 755 *.dll $(MX_INSTALL_DIR)/bin install -m 755 ../mpscript/mpscript $(MX_INSTALL_DIR)/bin install -m 755 ../mpscript/mpshell $(MX_INSTALL_DIR)/bin install -m 755 ../mpscript/mpenv $(MX_INSTALL_DIR)/bin ifeq ($(_pycache_exists),false) -install -m 644 *.pyc $(MX_INSTALL_DIR)/lib/mp else -mkdir $(MX_INSTALL_DIR)/lib/mp/__pycache__ -install -m 644 __pycache__/*.pyc $(MX_INSTALL_DIR)/lib/mp/__pycache__ endif