Blame lang/python/Makefile.am

Packit d7e8d0
# Makefile.am for the Python bindings.
Packit d7e8d0
# Copyright (C) 2016 g10 Code GmbH
Packit d7e8d0
#
Packit d7e8d0
# This file is part of GPGME.
Packit d7e8d0
#
Packit d7e8d0
# GPGME is free software; you can redistribute it and/or modify it
Packit d7e8d0
# under the terms of the GNU Lesser General Public License as
Packit d7e8d0
# published by the Free Software Foundation; either version 2.1 of the
Packit d7e8d0
# License, or (at your option) any later version.
Packit d7e8d0
#
Packit d7e8d0
# GPGME is distributed in the hope that it will be useful, but WITHOUT
Packit d7e8d0
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
Packit d7e8d0
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
Packit d7e8d0
# Public License for more details.
Packit d7e8d0
#
Packit d7e8d0
# You should have received a copy of the GNU Lesser General Public
Packit Service 30b792
# License along with this program; if not, see <https://gnu.org/licenses/>.
Packit Service 30b792
# SPDX-License-Identifier: LGPL-2.1-or-later
Packit d7e8d0
Packit d7e8d0
EXTRA_DIST = \
Packit d7e8d0
	README \
Packit d7e8d0
	MANIFEST.in \
Packit d7e8d0
	gpgme.i \
Packit Service 30b792
	helpers.c helpers.h private.h
Packit d7e8d0
Packit Service 30b792
SUBDIRS = . tests examples doc src
Packit d7e8d0
Packit d7e8d0
.PHONY: prepare
Packit d7e8d0
prepare: copystamp
Packit d7e8d0
Packit d7e8d0
# For VPATH builds we need to copy some files because Python's
Packit d7e8d0
# distutils are not VPATH-aware.
Packit d7e8d0
copystamp:
Packit d7e8d0
	ln -sf "$(top_srcdir)/src/data.h" .
Packit Service 30b792
	ln -sf "$(top_builddir)/conf/config.h" .
Packit d7e8d0
	ln -sf "$(srcdir)/src" gpg
Packit d7e8d0
	touch $@
Packit d7e8d0
Packit d7e8d0
all-local: copystamp
Packit d7e8d0
	set -e ; for PYTHON in $(PYTHONS); do \
Packit d7e8d0
	  CPP="$(CPP)" \
Packit d7e8d0
	  CFLAGS="$(CFLAGS)" \
Packit d7e8d0
	  srcdir="$(srcdir)" \
Packit d7e8d0
	  top_builddir="$(top_builddir)" \
Packit d7e8d0
	    $$PYTHON setup.py build --verbose --build-base="$$(basename "$${PYTHON}")-gpg" ; \
Packit d7e8d0
	done
Packit d7e8d0
Packit d7e8d0
python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz.asc: copystamp
Packit d7e8d0
	$(MKDIR_P) python$(PYTHON_VERSION)-gpg-dist
Packit d7e8d0
	CPP="$(CPP)" \
Packit d7e8d0
	CFLAGS="$(CFLAGS)" \
Packit d7e8d0
	srcdir="$(srcdir)" \
Packit d7e8d0
	top_builddir="$(top_builddir)" \
Packit d7e8d0
	  $(PYTHON) setup.py sdist --verbose --dist-dir=python$(PYTHON_VERSION)-gpg-dist \
Packit d7e8d0
		--manifest=python$(PYTHON_VERSION)-gpg-dist/MANIFEST
Packit Service 30b792
	gpgbin=gpgconf --list-components | grep OpenPGP | sed -e 's/gpg:OpenPGP://g'
Packit Service 30b792
	$(gpgbin) --detach-sign --armor python$(PYTHON_VERSION)-gpg-dist/gpg-$(VERSION).tar.gz
Packit d7e8d0
Packit d7e8d0
.PHONY: sdist
Packit d7e8d0
sdist:	python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz.asc
Packit d7e8d0
Packit d7e8d0
.PHONY: upload
Packit d7e8d0
upload: python$(PYTHON_VERSION)-gpg-dist/gpg-$(VERSION).tar.gz \
Packit d7e8d0
        python$(PYTHON_VERSION)-gpg-dist/gpg-$(VERSION).tar.gz.asc
Packit d7e8d0
	twine upload $^
Packit d7e8d0
Packit d7e8d0
CLEANFILES = copystamp \
Packit d7e8d0
	config.h \
Packit d7e8d0
	data.h \
Packit d7e8d0
	gpg
Packit d7e8d0
Packit d7e8d0
# Remove the rest.
Packit d7e8d0
#
Packit d7e8d0
# 'make distclean' clears the write bit, breaking rm -rf.  Fix the
Packit d7e8d0
# permissions.
Packit d7e8d0
clean-local:
Packit d7e8d0
	rm -rf -- build
Packit d7e8d0
	for PYTHON in $(PYTHONS); do \
Packit d7e8d0
	  find "$$(basename "$${PYTHON}")-gpg" -type d ! -perm -200 -exec chmod u+w {} ';' ; \
Packit d7e8d0
	  rm -rf -- "$$(basename "$${PYTHON}")-gpg" ; \
Packit d7e8d0
	done
Packit d7e8d0
Packit d7e8d0
install-exec-local:
Packit d7e8d0
	set -e ; for PYTHON in $(PYTHONS); do \
Packit d7e8d0
	  CPP="$(CPP)" \
Packit d7e8d0
	  CFLAGS="$(CFLAGS)" \
Packit d7e8d0
	  srcdir="$(srcdir)" \
Packit d7e8d0
	  top_builddir="$(top_builddir)" \
Packit d7e8d0
	  $$PYTHON setup.py \
Packit d7e8d0
	  build \
Packit d7e8d0
	  --build-base="$$(basename "$${PYTHON}")-gpg" \
Packit d7e8d0
	  install \
Packit d7e8d0
	  --prefix "$(DESTDIR)$(prefix)" \
Packit d7e8d0
	  --verbose ; \
Packit d7e8d0
	done
Packit d7e8d0
Packit d7e8d0
uninstall-local:
Packit d7e8d0
	set -x; GV=$$(echo $(VERSION) | tr - _); for PYTHON in $(PYTHONS); do \
Packit d7e8d0
	  PLATLIB="$(prefix)/$$("$${PYTHON}" -c 'import sysconfig, os; print(os.path.relpath(sysconfig.get_path("platlib", scheme="posix_prefix"), sysconfig.get_config_var("prefix")))')" ; \
Packit d7e8d0
	  rm -rf -- "$(DESTDIR)$${PLATLIB}/gpg" \
Packit d7e8d0
		"$(DESTDIR)$${PLATLIB}"/gpg-$$GV-py*.egg-info ; \
Packit d7e8d0
	done