summaryrefslogtreecommitdiff
path: root/requirements/Makefile
blob: c49a2e2d087f76cd95a092e3c64597c6805dffb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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)