Source

cpython-withatomic / Misc / gMakefile

Full commit
# 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