45 lines
1.2 KiB
Makefile
45 lines
1.2 KiB
Makefile
# Shared logic to download Python source tarball for the wasm builds.
|
|
|
|
CURDIR=$(abspath .)
|
|
|
|
# These three are passed in from nox.
|
|
BUILDROOT ?= $(CURDIR)/builddir
|
|
PYTHON ?= python3
|
|
PYMAJORMINORMICRO ?= $(shell $(PYTHON) --version 2>&1 | awk '{print $$2}')
|
|
|
|
# Set version variables.
|
|
version_tuple := $(subst ., ,$(PYMAJORMINORMICRO:v%=%))
|
|
PYMAJOR=$(word 1,$(version_tuple))
|
|
PYMINOR=$(word 2,$(version_tuple))
|
|
PYMICRO=$(word 3,$(version_tuple))
|
|
PYVERSION=$(PYMAJORMINORMICRO)
|
|
PYMAJORMINOR=$(PYMAJOR).$(PYMINOR)
|
|
|
|
ifneq ($(PYMAJORMINOR),3.14)
|
|
$(error PYMAJORMINOR must be 3.14, got '$(PYMAJORMINOR)')
|
|
endif
|
|
|
|
PYTHONURL=https://www.python.org/ftp/python/$(PYMAJORMINORMICRO)/Python-$(PYVERSION).tgz
|
|
PYTHONTARBALL=$(BUILDROOT)/downloads/Python-$(PYVERSION).tgz
|
|
PYTHONBUILD=$(BUILDROOT)/build/Python-$(PYVERSION)
|
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
$(BUILDROOT)/.exists:
|
|
mkdir -p $(BUILDROOT)
|
|
touch $@
|
|
|
|
$(PYTHONTARBALL): $(BUILDROOT)/.exists
|
|
mkdir -p $(BUILDROOT)/downloads
|
|
curl -sL $(PYTHONURL) -o $@
|
|
|
|
$(PYTHONBUILD)/.exists: $(PYTHONTARBALL)
|
|
[ -d $(PYTHONBUILD) ] || ( \
|
|
mkdir -p $(dir $(PYTHONBUILD));\
|
|
tar -C $(dir $(PYTHONBUILD)) -xf $(PYTHONTARBALL) \
|
|
)
|
|
touch $@
|
|
|
|
clean:
|
|
rm -rf $(BUILDROOT)
|