1 # Copyright 2005 Princeton University
3 # PY_MODS variable should be list of Python source modules
4 # PY_EXT_MODS should be list of Python extension modules (.so) that need
10 # use strip to remove extra whitespace
11 _PY_SETUP = $(strip python setup.py \
12 $(foreach i,DEFS INCLUDES LIBS PY_MODS PY_EXT_MODS,\
13 $(if $(subst undefined,,$(origin $i)),$i="$($i)")))
15 _PY_BUILD_ARGS := -t $(_PY_TMPDIR) -b $(_PY_TMPDIR)/build
17 py-build: .pybuild/.prep-done $(PY_MODS) $(PY_EXT_MODS)
21 ln -s ../build .pybuild
24 $(PY_EXT_MODS): PY_EXT_MODS = $@
26 $(PY_EXT_MODS): %.so: %.c
27 $(_PY_SETUP) build_ext -f $(_PY_BUILD_ARGS)
30 $(_PY_SETUP) install --root=$(INSTALL_ROOT)
32 .PHONY: py-build py-install py-clean