s4:samldb LDB module - make the "userAccountControl" and "groupType" modify handlers...
[ira/wip.git] / source4 / scripting / python / config.mk
index a16d737344c9b45622e3870003da894a54cf625c..2209a6d0877a41e3806bd5f6bca2129b36ada094 100644 (file)
@@ -1,49 +1,46 @@
-[BINARY::smbpython]
-PRIVATE_DEPENDENCIES = LIBPYTHON
-OBJ_FILES = smbpython.o
-
 [SUBSYSTEM::LIBPYTHON]
 PUBLIC_DEPENDENCIES = EXT_LIB_PYTHON
+PRIVATE_DEPENDENCIES = PYTALLOC
 INIT_FUNCTION_SENTINEL = { NULL, NULL }
-OBJ_FILES = modules.o pytalloc.o
+
+LIBPYTHON_OBJ_FILES = $(addprefix $(pyscriptsrcdir)/, modules.o)
+
+[SUBSYSTEM::PYTALLOC]
+PUBLIC_DEPENDENCIES = EXT_LIB_PYTHON LIBTALLOC
+
+PYTALLOC_OBJ_FILES = ../lib/talloc/pytalloc.o
 
 [PYTHON::python_uuid]
 PRIVATE_DEPENDENCIES = LIBNDR 
-OBJ_FILES = uuidmodule.o
 
-[PYTHON::python_misc]
-PRIVATE_DEPENDENCIES = LIBNDR LIBLDB SAMDB CREDENTIALS
-SWIG_FILE = misc.i
+python_uuid_OBJ_FILES = $(pyscriptsrcdir)/uuidmodule.o
 
-# Swig extensions
-swig:: pythonmods
+[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
 
-.SUFFIXES: _wrap.c .i
+python__glue_OBJ_FILES = $(pyscriptsrcdir)/pyglue.o
 
-.i_wrap.c:
-       [ "$(SWIG)" == "no" ] || $(SWIG) -O -Wall -I$(srcdir)/scripting/swig -python -keyword $<
+$(python__glue_OBJ_FILES): CFLAGS+=-I$(ldbsrcdir)
 
-realdistclean::
-       @echo "Removing SWIG output files"
-       # FIXME: Remove _wrap.c files
+_PY_FILES = $(shell find $(pyscriptsrcdir)/samba -type f -name "*.py")
 
-pythonmods:: $(PYTHON_DSOS) $(PYTHON_PYS)
-
-PYDOCTOR_MODULES=bin/python/ldb.py bin/python/auth.py bin/python/credentials.py bin/python/registry.py bin/python/tdb.py bin/python/security.py bin/python/events.py bin/python/net.py
+$(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=bin/python pydoctor --project-name=Samba --make-html --docformat=restructuredtext --add-package scripting/python/samba/ $(addprefix --add-module , $(PYDOCTOR_MODULES))
+       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
 
-bin/python/%.py: 
-       mkdir -p $(@D)
-       cp $< $@
+pyflakes::
+       $(PYFLAKES) $(pyscriptsrcdir)/samba
 
-installpython:: pythonmods
-       @$(SHELL) $(srcdir)/script/installpython.sh \
-               $(INSTALLPERMS) \
-               $(DESTDIR)$(PYTHONDIR) \
-               scripting/python bin/python
+PYLINT = pylint
 
-clean::
-       @echo "Removing python modules"
-       @rm -rf bin/python/*
+pylint:: pythonmods
+       PYTHONPATH=$(pyscriptsrcdir) $(PYLINT) -f parseable samba