| # Generic Makefile for dynamically linked extension modules. |
| # |
| # Jim Fulton, Digital Creations, jim@digicool.com |
| |
| |
| # Uncomment and modify these lines if you want to fix the location of |
| # the PYTHON installation and the python version. Otherwise, set the |
| # environment variables before using this Makefile. |
| |
| # PYTHONHOME= /usr/local/ |
| # PYTHONVERSION= 1.4 |
| |
| # The following lines should be left as is: |
| VERSION= $(PYTHONVERSION) |
| pyinstalldir= $(PYTHONHOME) |
| installdir= $(PYTHONHOME) |
| exec_installdir=$(pyinstalldir) |
| INCLUDEPY= $(pyinstalldir)/include/python$(VERSION) |
| LIBP= $(exec_installdir)/lib/python$(VERSION) |
| LIBPL= $(LIBP)/config |
| PYMAKE= make -f $(LIBPL)/Makefile |
| |
| # LIBSO is the location of platform-dependent dynamically linked |
| # extension libraries. This can be handy when you need to build |
| # shared libraries that are not extensions but want to store them |
| # with other extensions and need to know where they are. |
| # Leave this line as it is. |
| LIBSO= `$(PYMAKE) -s echodestshared` |
| |
| # Put your module name here: |
| MODULE=your-module |
| |
| # Put the object files for your module here: |
| OBS=$(MODULE).o |
| |
| # Put extra linker options, such as libraries here: |
| EXTRALD= |
| |
| # Put Extra compiler options, such as extra -I options, here |
| CFLAGS=-O |
| |
| # If you have any Python modules, include them here, so that they |
| # can get installed. |
| PYMODULES= |
| |
| build: |
| if [ "$(MODULE)" != your-module ]; then \ |
| $(PYMAKE) INCLDIR=$(INCLUDEPY) CONFIGINCLDIR=$(LIBPL) \ |
| ASHAREDMODULE=$(MODULE) \ |
| 'ASHAREDMODULESOBS=$(OBS)' \ |
| 'ASHAREDMODULESEXTRA=$(EXTRALD)' \ |
| 'OPT=$(CFLAGS)' \ |
| asharedmodule; \ |
| fi |
| |
| # Normally we don't install .py files: |
| install: installso installpyc |
| |
| # But sometimes we may want to: |
| installpy: install |
| for m in $(PYMODULES) the-end; do \ |
| if [ "$$m" != the-end ]; then \ |
| cp $$m.py $(installdir)/lib/python$(VERSION)/; \ |
| fi; \ |
| done |
| |
| |
| installso: build |
| if [ "$(MODULE)" != your-module ]; then \ |
| $(PYMAKE) exec_prefix=$(installdir) \ |
| ASHAREDMODULE=$(MODULE) asharedinstall; \ |
| fi |
| |
| installpyc: |
| for m in $(PYMODULES) the-end; do \ |
| if [ "$$m" != the-end ]; then \ |
| python -c "import $$m"; \ |
| cp $$m.pyc $(installdir)/lib/python$(VERSION)/; \ |
| fi; \ |
| done |
| |
| clean:: |
| -rm -f *.o *.so *~ *# so_locations |