8f0e74f942ea7042f160b05961aaee492f9566ab
[gpgme.git] / lang / python / Makefile.am
1 # Makefile.am for the Python bindings.
2 # Copyright (C) 2016 g10 Code GmbH
3 #
4 # This file is part of GPGME.
5 #
6 # GPGME is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU Lesser General Public License as
8 # published by the Free Software Foundation; either version 2.1 of the
9 # License, or (at your option) any later version.
10 #
11 # GPGME is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
14 # Public License for more details.
15 #
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this program; if not, see <http://www.gnu.org/licenses/>.
18
19 EXTRA_DIST = README
20 SUBDIRS = tests
21
22 COPY_FILES = \
23         $(srcdir)/README \
24         $(srcdir)/pyme \
25         $(srcdir)/helpers.c $(srcdir)/helpers.h
26
27 # Cleanup gpgme.h from deprecated functions and typedefs.
28 gpgme.h: ../../src/gpgme.h $(srcdir)/gpgme-h-clean.py
29         $(PYTHON) $(srcdir)/gpgme-h-clean.py $< >$@
30
31 # For VPATH builds we need to copy some files because Python's
32 # distutils are not VPATH-aware.
33 copystamp: $(COPY_FILES)
34         if test "$(srcdir)" != "$(builddir)" ; then cp -r $^ . ; fi
35         touch $@
36
37 errors.i:
38         sed -n -e \
39           '/GPG_ERR_[^ ]* =/s/ *\(.*\) = .*/%constant long \1 = \1;/p' \
40           `$(GPG_ERROR_CONFIG) --prefix`/include/gpg-error.h >$@
41
42 gpgme_wrap.c pyme/pygpgme.py: gpgme.i errors.i gpgme.h copystamp
43         $(SWIG) -python -py3 -builtin $(SWIGOPT) \
44           -o $(builddir)/gpgme_wrap.c -outdir $(builddir)/pyme \
45           $<
46
47 all-local: gpgme_wrap.c pyme/pygpgme.py copystamp
48         CFLAGS="$(CFLAGS) -I$(top_srcdir)" \
49           $(PYTHON) setup.py build --verbose
50
51 clean-local:
52         rm -rf -- build gpgme.h errors.i gpgme_wrap.c pyme/pygpgme.py \
53           copystamp
54         if test "$(srcdir)" != "$(builddir)" ; then \
55           rm -rf pyme helpers.c helpers.h ; \
56         fi
57
58 install-exec-local:
59         $(PYTHON) setup.py install \
60           --prefix $(DESTDIR)$(prefix) \
61           --record $(DESTDIR)$(pythondir)/pyme/install_files.txt \
62           --verbose
63
64 uninstall-local:
65         xargs <$(DESTDIR)$(pythondir)/pyme/install_files.txt -- rm -rf --
66         rm -rf -- $(DESTDIR)$(pythondir)/pyme