PRIVATE_DEPENDENCIES = PYTALLOC
INIT_FUNCTION_SENTINEL = { NULL, NULL }
-LIBPYTHON_OBJ_FILES = $(addprefix scripting/python/, modules.o)
+LIBPYTHON_OBJ_FILES = $(addprefix $(pyscriptsrcdir)/, modules.o)
[SUBSYSTEM::PYTALLOC]
-PUBLIC_DEPENDENCIES = EXT_LIB_PYTHON
+PUBLIC_DEPENDENCIES = EXT_LIB_PYTHON LIBTALLOC
-PYTALLOC_OBJ_FILES = $(addprefix scripting/python/, pytalloc.o)
+PYTALLOC_OBJ_FILES = ../lib/talloc/pytalloc.o
[PYTHON::python_uuid]
PRIVATE_DEPENDENCIES = LIBNDR
-python_uuid_OBJ_FILES = scripting/python/uuidmodule.o
+python_uuid_OBJ_FILES = $(pyscriptsrcdir)/uuidmodule.o
+
+[PYTHON::python__glue]
+LIBRARY_REALNAME = samba/_glue.$(SHLIBEXT)
+PRIVATE_DEPENDENCIES = LIBNDR LIBLDB SAMDB CREDENTIALS pyldb python_dcerpc_misc python_dcerpc_security pyauth pyldb_util pyparam_util
-[PYTHON::python_misc]
-PRIVATE_DEPENDENCIES = LIBNDR LIBLDB SAMDB CREDENTIALS
-SWIG_FILE = misc.i
+python__glue_OBJ_FILES = $(pyscriptsrcdir)/pyglue.o
-python_misc_OBJ_FILES = scripting/python/misc_wrap.o
+$(python__glue_OBJ_FILES): CFLAGS+=-I$(ldbsrcdir)
-_PY_FILES = $(shell find scripting/python -name "*.py")
+_PY_FILES = $(shell find $(pyscriptsrcdir)/samba -type f -name "*.py")
-$(foreach pyfile, $(_PY_FILES),$(eval $(call python_py_module_template,$(patsubst scripting/python/%,%,$(pyfile)),$(pyfile))))
+$(eval $(foreach pyfile, $(_PY_FILES),$(call python_py_module_template,$(patsubst $(pyscriptsrcdir)/%,%,$(pyfile)),$(pyfile))))
+
+PYDOCTOR = pydoctor
+PYDOCTOR_OPTIONS = --project-name Samba --project-url http://www.samba.org/ \
+ --make-html
+pydoctor:: pythonmods
+ LD_LIBRARY_PATH=bin/shared PYTHONPATH=$(pythonbuilddir) pydoctor --project-name=Samba --project-url=http://www.samba.org/ --make-html --docformat=restructuredtext $(addprefix --add-package $(pythonbuilddir)/, samba)
install:: installpython
+
+PYFLAKES = pyflakes
+
+pyflakes::
+ $(PYFLAKES) $(pyscriptsrcdir)/samba
+
+PYLINT = pylint
+
+pylint:: pythonmods
+ PYTHONPATH=$(pyscriptsrcdir) $(PYLINT) -f parseable samba