Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 1 | # Generic Makefile for dynamically linked extension modules. |
| 2 | # |
| 3 | # Jim Fulton, Digital Creations, jim@digicool.com |
| 4 | |
| 5 | |
Guido van Rossum | 62cf605 | 1996-08-28 19:29:44 +0000 | [diff] [blame] | 6 | # Uncomment and modify these lines if you want to fix the location of |
| 7 | # the PYTHON installation and the python version. Otherwise, set the |
| 8 | # environment variables before using this Makefile. |
| 9 | |
Guido van Rossum | 7d42d95 | 1996-11-06 16:39:12 +0000 | [diff] [blame^] | 10 | # PYTHONHOME= /usr/local/ |
| 11 | # PYTHONVERSION= 1.4 |
Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 12 | |
| 13 | # The following lines should be left as is: |
Guido van Rossum | 62cf605 | 1996-08-28 19:29:44 +0000 | [diff] [blame] | 14 | VERSION= $(PYTHONVERSION) |
Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 15 | pyinstalldir= $(PYTHONHOME) |
| 16 | installdir= $(PYTHONHOME) |
| 17 | exec_installdir=$(pyinstalldir) |
Guido van Rossum | 62cf605 | 1996-08-28 19:29:44 +0000 | [diff] [blame] | 18 | INCLUDEPY= $(pyinstalldir)/include/python$(VERSION) |
| 19 | LIBP= $(exec_installdir)/lib/python$(VERSION) |
Guido van Rossum | be725fd | 1996-08-28 14:27:24 +0000 | [diff] [blame] | 20 | LIBPL= $(LIBP)/config |
Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 21 | PYMAKE= make -f $(LIBPL)/Makefile |
| 22 | |
| 23 | # LIBSO is the location of platform-dependent dynamically linked |
| 24 | # extension libraries. This can be handy when you need to build |
| 25 | # shared libraries that are not extensions but want to store them |
| 26 | # with other extensions and need to know where they are. |
| 27 | # Leave this line as it is. |
| 28 | LIBSO= `$(PYMAKE) -s echodestshared` |
| 29 | |
| 30 | # Put your module name here: |
| 31 | MODULE=your-module |
| 32 | |
| 33 | # Put the object files for your module here: |
| 34 | OBS=$(MODULE).o |
| 35 | |
| 36 | # Put extra linker options, such as libraries here: |
Guido van Rossum | 62cf605 | 1996-08-28 19:29:44 +0000 | [diff] [blame] | 37 | EXTRALD= |
| 38 | |
| 39 | # Put Extra compiler options, such as extra -I options, here |
| 40 | CFLAGS=-O |
Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 41 | |
| 42 | # If you have any Python modules, include them here, so that they |
Guido van Rossum | 62cf605 | 1996-08-28 19:29:44 +0000 | [diff] [blame] | 43 | # can get installed. |
Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 44 | PYMODULES= |
| 45 | |
| 46 | build: |
| 47 | if [ "$(MODULE)" != your-module ]; then \ |
| 48 | $(PYMAKE) INCLDIR=$(INCLUDEPY) CONFIGINCLDIR=$(LIBPL) \ |
| 49 | ASHAREDMODULE=$(MODULE) \ |
| 50 | 'ASHAREDMODULESOBS=$(OBS)' \ |
Guido van Rossum | 62cf605 | 1996-08-28 19:29:44 +0000 | [diff] [blame] | 51 | 'ASHAREDMODULESEXTRA=$(EXTRALD)' \ |
| 52 | 'OPT=$(CFLAGS)' \ |
Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 53 | asharedmodule; \ |
| 54 | fi |
| 55 | |
Guido van Rossum | 62cf605 | 1996-08-28 19:29:44 +0000 | [diff] [blame] | 56 | # Normally we don't install .py files: |
| 57 | install: installso installpyc |
| 58 | |
| 59 | # But sometimes we may want to: |
| 60 | installpy: install |
| 61 | for m in $(PYMODULES) the-end; do \ |
| 62 | if [ "$$m" != the-end ]; then \ |
| 63 | cp $$m.py $(installdir)/lib/python$(VERSION)/; \ |
| 64 | fi; \ |
| 65 | done |
| 66 | |
Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 67 | |
| 68 | installso: build |
| 69 | if [ "$(MODULE)" != your-module ]; then \ |
| 70 | $(PYMAKE) exec_prefix=$(installdir) \ |
| 71 | ASHAREDMODULE=$(MODULE) asharedinstall; \ |
| 72 | fi |
| 73 | |
Guido van Rossum | 62cf605 | 1996-08-28 19:29:44 +0000 | [diff] [blame] | 74 | installpyc: |
Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 75 | for m in $(PYMODULES) the-end; do \ |
| 76 | if [ "$$m" != the-end ]; then \ |
| 77 | python -c "import $$m"; \ |
Guido van Rossum | 62cf605 | 1996-08-28 19:29:44 +0000 | [diff] [blame] | 78 | cp $$m.pyc $(installdir)/lib/python$(VERSION)/; \ |
Guido van Rossum | e8c0a15 | 1996-08-20 20:54:59 +0000 | [diff] [blame] | 79 | fi; \ |
| 80 | done |
| 81 | |
| 82 | clean:: |
| 83 | -rm -f *.o *.so *~ *# so_locations |