Moved vduimpl.c from util-python, import common pybuild infrastructure
[util-vserver.git] / python / pybuild.mk
1 # Copyright 2005 Princeton University
2 #
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
5 # to be built
6 #
7
8 _PY_TMPDIR := .pybuild
9
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)")))
14
15 _PY_BUILD_ARGS := -t $(_PY_TMPDIR) -b $(_PY_TMPDIR)/build
16
17 py-build: .pybuild/.prep-done $(PY_MODS) $(PY_EXT_MODS)
18
19 .pybuild/.prep-done:
20         mkdir build .pybuild
21         ln -s ../build .pybuild
22         touch $@
23
24 $(PY_EXT_MODS): PY_EXT_MODS = $@
25
26 $(PY_EXT_MODS): %.so: %.c
27         $(_PY_SETUP) build_ext -f $(_PY_BUILD_ARGS)
28
29 py-install:
30         $(_PY_SETUP) install --root=$(INSTALL_ROOT)
31
32 .PHONY: py-build py-install py-clean