summaryrefslogtreecommitdiffstats
path: root/source4/build/make/python.mk
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-04-15 22:08:49 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-04-15 22:08:49 +0200
commit038987543043346cdcd8a4b8fe2970cd1350a7a7 (patch)
tree63df88d6cc354bd766a4b9b3f36d3e43bf67872b /source4/build/make/python.mk
parentf01c377bc039b776ded213f455cdb79d682ae7b2 (diff)
parentb708a3d1e7f8d98bc6cedad8d405b1434d32a22e (diff)
downloadsamba-038987543043346cdcd8a4b8fe2970cd1350a7a7.tar.gz
samba-038987543043346cdcd8a4b8fe2970cd1350a7a7.tar.xz
samba-038987543043346cdcd8a4b8fe2970cd1350a7a7.zip
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into registry
(This used to be commit 70ebb22c3df178a26c26c0a25c5722ff9ccdb0b4)
Diffstat (limited to 'source4/build/make/python.mk')
-rw-r--r--source4/build/make/python.mk62
1 files changed, 62 insertions, 0 deletions
diff --git a/source4/build/make/python.mk b/source4/build/make/python.mk
new file mode 100644
index 0000000000..6c1798212e
--- /dev/null
+++ b/source4/build/make/python.mk
@@ -0,0 +1,62 @@
+pythonbuilddir = $(builddir)/bin/python
+
+# Install Python
+# Arguments: Module path
+define python_module_template
+
+installpython:: $$(pythonbuilddir)/$(1) ;
+ cp $$< $$(DESTDIR)$$(PYTHONDIR)/$(1)
+
+uninstallpython::
+ rm -f $$(DESTDIR)$$(PYTHONDIR)/$(1) ;
+
+pythonmods:: $$(pythonbuilddir)/$(1) ;
+
+endef
+
+define python_py_module_template
+
+$$(pythonbuilddir)/$(1): $(2) ;
+ mkdir -p $$(@D)
+ cp $$< $$@
+
+$(call python_module_template,$(1))
+
+endef
+
+# Python C module
+# Arguments: Module path, object files
+define python_c_module_template
+
+$$(pythonbuilddir)/$(1): $(2) ;
+ @echo Linking $$@
+ @mkdir -p $$(@D)
+ @$$(MDLD) $$(LDFLAGS) $$(MDLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
+
+$(call python_module_template,$(1))
+endef
+
+# Swig extensions
+swig:: pythonmods
+
+.SUFFIXES: _wrap.c .i
+
+.i_wrap.c:
+ [ "$(SWIG)" == "no" ] || $(SWIG) -O -Wall -I$(srcdir)/scripting/swig -python -keyword $<
+
+realdistclean::
+ @echo "Removing SWIG output files"
+ # FIXME: Remove _wrap.c files
+
+pythonmods::
+
+clean::
+ @echo "Removing python modules"
+ @rm -rf $(pythonbuilddir)
+
+pydoctor:: pythonmods
+ LD_LIBRARY_PATH=bin/shared PYTHONPATH=$(pythonbuilddir) pydoctor --project-name=Samba --project-url=http://www.samba.org --make-html --docformat=restructuredtext --add-package $(pythonbuilddir)/samba
+
+bin/python/%.py:
+ mkdir -p $(@D)
+ cp $< $@