aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python/Makefile.am
blob: 527212a282da27aaeb95557bfb77e76c390abdeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Makefile.am for the Python bindings.
# Copyright (C) 2016 g10 Code GmbH
#
# This file is part of GPGME.
#
# GPGME is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# GPGME is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
# Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, see <http://www.gnu.org/licenses/>.

EXTRA_DIST = \
	README \
	gpgme.i \
	helpers.c helpers.h \
	gpgme-h-clean.py \
	pyme

SUBDIRS = tests

COPY_FILES = \
	$(srcdir)/README \
	$(srcdir)/pyme \
	$(srcdir)/helpers.c $(srcdir)/helpers.h

# Cleanup gpgme.h from deprecated functions and typedefs.
gpgme.h: ../../src/gpgme.h $(srcdir)/gpgme-h-clean.py
	$(PYTHON) $(srcdir)/gpgme-h-clean.py $< >$@

# For VPATH builds we need to copy some files because Python's
# distutils are not VPATH-aware.
copystamp: $(COPY_FILES)
	if test "$(srcdir)" != "$(builddir)" ; then cp -r $^ . ; fi
	touch $@

errors.i:
	sed -n -e \
	  '/GPG_ERR_[^ ]* =/s/ *\(.*\) = .*/%constant long \1 = \1;/p' \
	  `$(GPG_ERROR_CONFIG) --prefix`/include/gpg-error.h >$@

gpgme_wrap.c pyme/pygpgme.py: gpgme.i errors.i gpgme.h copystamp
	$(SWIG) -python -py3 -builtin $(SWIGOPT) \
	  -o $(builddir)/gpgme_wrap.c -outdir $(builddir)/pyme \
	  $<

all-local: gpgme_wrap.c pyme/pygpgme.py copystamp
	CFLAGS="$(CFLAGS) -I$(top_srcdir)" \
	  $(PYTHON) setup.py build --verbose

CLEANFILES = gpgme.h errors.i gpgme_wrap.c pyme/pygpgme.py \
	  copystamp

# Remove the rest.
#
# 'make distclean' clears the write bit, breaking rm -rf.  Fix the
# permissions.
clean-local:
	rm -rf -- build
	if test "$(srcdir)" != "$(builddir)" ; then \
	  find . -type d ! -perm -200 -exec chmod u+w {} ';' ; \
	  rm -rf README pyme helpers.c helpers.h ; \
	fi

install-exec-local:
	$(PYTHON) setup.py install \
	  --prefix $(DESTDIR)$(prefix) \
	  --record $(DESTDIR)$(pythondir)/pyme/install_files.txt \
	  --verbose

uninstall-local:
	xargs <$(DESTDIR)$(pythondir)/pyme/install_files.txt -- rm -rf --
	rm -rf -- $(DESTDIR)$(pythondir)/pyme