summaryrefslogtreecommitdiffstats
path: root/Misc/gMakefile
blob: 28b1563590c59d7d95f6e452559fde8dbafd3b2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# 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