s3:configure: add -L./bin also for the merged build
[Samba.git] / source4 / build / make / python.mk
blob66e5def8f0c846e224334a19d9e0febbf5881fab
1 pythonbuilddir = $(builddir)/bin/python
3 installpython::
4 mkdir -p $(DESTDIR)$(pythondir)
6 # Install Python
7 # Arguments: Module path
8 define python_module_template
10 installpython:: $$(pythonbuilddir)/$(1) ;
11 mkdir -p $$(DESTDIR)$$(pythondir)/$$(dir $(1))
12 cp $$< $$(DESTDIR)$$(pythondir)/$(1)
14 uninstallpython::
15 rm -f $$(DESTDIR)$$(pythondir)/$(1) ;
17 pythonmods:: $$(pythonbuilddir)/$(1) ;
19 endef
21 define python_py_module_template
23 $$(pythonbuilddir)/$(1): $(2) ;
24 mkdir -p $$(@D)
25 cp $$< $$@
27 $(call python_module_template,$(1))
29 endef
31 # Python C module
32 # Arguments: File name, dependencies, link list
33 define python_c_module_template
35 $$(pythonbuilddir)/$(1): $(2) ;
36 @echo Linking $$@
37 @mkdir -p $$(@D)
38 @$$(MDLD) $$(LDFLAGS) $$(MDLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
40 $(call python_module_template,$(1))
41 endef
43 # Swig extensions
44 swig:: pythonmods
46 .SUFFIXES: _wrap.c .i .py
48 %_wrap.c %.py: %.i
49 [ "$(SWIG)" == "no" ] || $(SWIG) -O -Wall -I$(srcdir)/scripting/swig -python -keyword $<
51 realdistclean::
52 @echo "Removing SWIG output files"
53 # FIXME: Remove _wrap.c files
55 pythonmods::
57 clean::
58 @echo "Removing python modules"
59 @rm -rf $(pythonbuilddir)
61 pydoctor:: pythonmods
62 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
64 bin/python/%.py:
65 mkdir -p $(@D)
66 cp $< $@