# Makefile for updating BuildStream's requirements files. # REQUIREMENTS_IN := $(wildcard *.in) REQUIREMENTS_TXT := $(REQUIREMENTS_IN:.in=.txt) PYTHON := python3 VENV := $(PYTHON) -m venv VENV_PIP = $(VENVDIR)/bin/pip .PHONY: all all: $(REQUIREMENTS_TXT) %.txt: %.in $(eval VENVDIR := $(shell mktemp -d $(CURDIR)/.bst-venv.XXXXXX)) $(VENV) $(VENVDIR) $(VENV_PIP) install -r $^ $(VENV_PIP) freeze -r $^ > $@ rm -rf $(VENVDIR)