1.PHONY: env help clean html package doctest 2 3docs: html 4 5check: doctest 6 7# The environment is currently required to build the documentation. 8# It is not clean by 'make clean' 9 10PYTHON := python$(PYTHON_VERSION) 11PYTHON_VERSION ?= $(shell $(PYTHON) -c 'import sys; print ("%d.%d" % sys.version_info[:2])') 12BUILD_DIR = $(shell pwd)/../build/lib.$(PYTHON_VERSION) 13 14SPHINXBUILD ?= $$(pwd)/env/bin/sphinx-build 15SPHOPTS = SPHINXBUILD=$(SPHINXBUILD) 16 17html: package src/sqlstate_errors.rst 18 $(MAKE) $(SPHOPTS) -C src $@ 19 cp -r src/_build/html . 20 21src/sqlstate_errors.rst: ../psycopg/sqlstate_errors.h $(BUILD_DIR) 22 ./env/bin/python src/tools/make_sqlstate_docs.py $< > $@ 23 24$(BUILD_DIR): 25 $(MAKE) PYTHON=$(PYTHON) -C .. package 26 27doctest: 28 $(MAKE) PYTHON=$(PYTHON) -C .. package 29 $(MAKE) $(SPHOPTS) -C src $@ 30 31clean: 32 $(MAKE) $(SPHOPTS) -C src $@ 33 rm -rf html src/sqlstate_errors.rst 34 35env: requirements.txt 36 $(PYTHON) -m venv env 37 ./env/bin/pip install -r requirements.txt 38 echo "$$(pwd)/../build/lib.$(PYTHON_VERSION)" \ 39 > env/lib/python$(PYTHON_VERSION)/site-packages/psycopg.pth 40