File: Makefile

package info (click to toggle)
python-acora 2.5-0.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,084 kB
  • sloc: python: 996; makefile: 55; sh: 13
file content (56 lines) | stat: -rw-r--r-- 1,767 bytes parent folder | download
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
PYTHON?=python
PROJECT=acora
VERSION?=$(shell sed -ne 's|^__version__\s*=\s*"\([^"]*\)".*|\1|p' acora/__init__.py)
WITH_CYTHON=$(shell $(PYTHON) -c 'from Cython.Build import cythonize' && echo " --with-cython" || true)
PYTHON_WHEEL_BUILD_VERSION := "cp*"

MANYLINUX_IMAGES= \
    manylinux1_x86_64 \
    manylinux1_i686 \
    manylinux_2_24_x86_64 \
    manylinux_2_24_i686 \
    manylinux_2_24_aarch64 \
    manylinux_2_28_x86_64 \
    manylinux_2_28_aarch64 \
    musllinux_1_1_x86_64

all:    local

local:
	$(PYTHON) setup.py build_ext --inplace  $(WITH_CYTHON)

test:
	$(PYTHON) test.py -v

clean:
	${PYTHON} setup.py clean
	rm -f $(wildcard $(addprefix $(PROJECT)/*., so pyd pyc pyo))
	[ -z "$(WITH_CYTHON)" ] || rm -f $(PROJECT)/*.c

sdist: dist/$(PROJECT)-$(VERSION).tar.gz

dist/$(PROJECT)-$(VERSION).tar.gz:
	${PYTHON} setup.py sdist

qemu-user-static:
	docker run --rm --privileged hypriot/qemu-register

wheel:
	$(PYTHON) setup.py bdist_wheel

wheel_manylinux: sdist $(addprefix wheel_,$(MANYLINUX_IMAGES))
$(addprefix wheel_,$(filter-out %_x86_64, $(filter-out %_i686, $(MANYLINUX_IMAGES)))): qemu-user-static

wheel_%: dist/$(PROJECT)-$(VERSION).tar.gz
	@echo "Building wheels for $(PROJECT) $(VERSION)"
	time docker run --rm -t \
		-v $(shell pwd):/io \
		-e CFLAGS="-O3 -g0 -mtune=generic -pipe -fPIC" \
		-e LDFLAGS="$(LDFLAGS) -fPIC" \
		-e WHEELHOUSE=wheelhouse$(subst wheel_manylinux,,$@) \
		quay.io/pypa/$(subst wheel_,,$@) \
		bash -c 'for PYBIN in /opt/python/$(PYTHON_WHEEL_BUILD_VERSION)/bin; do \
		    $$PYBIN/python -V; \
		    { $$PYBIN/python -m pip wheel -w /io/$$WHEELHOUSE /io/$< & } ; \
		    done; wait; \
		    for whl in /io/$$WHEELHOUSE/$(PROJECT)-$(VERSION)-*-linux_*.whl; do auditwheel repair $$whl -w /io/$$WHEELHOUSE; done'