summaryrefslogtreecommitdiff
path: root/doc/Makefile
blob: 789a8e692333dba6702e47a3f143fe81f0c8f708 (plain)
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
.PHONY: env help clean html package doctest

docs: html

check: doctest

# The environment is currently required to build the documentation.
# It is not clean by 'make clean'

PYTHON := python$(PYTHON_VERSION)
PYTHON_VERSION ?= $(shell $(PYTHON) -c 'import sys; print ("%d.%d" % sys.version_info[:2])')
BUILD_DIR = $(shell pwd)/../build/lib.$(PYTHON_VERSION)

SPHINXBUILD ?= $$(pwd)/env/bin/sphinx-build
SPHOPTS = SPHINXBUILD=$(SPHINXBUILD)

html: package src/sqlstate_errors.rst
	$(MAKE) $(SPHOPTS) -C src $@
	cp -r src/_build/html .

src/sqlstate_errors.rst: ../psycopg/sqlstate_errors.h $(BUILD_DIR)
	./env/bin/python src/tools/make_sqlstate_docs.py $< > $@

$(BUILD_DIR):
	$(MAKE) PYTHON=$(PYTHON) -C .. package

doctest:
	$(MAKE) PYTHON=$(PYTHON) -C .. package
	$(MAKE) $(SPHOPTS) -C src $@

clean:
	$(MAKE) $(SPHOPTS) -C src $@
	rm -rf html src/sqlstate_errors.rst

env: requirements.txt
	$(PYTHON) -m venv env
	./env/bin/pip install -r requirements.txt
	echo "$$(pwd)/../build/lib.$(PYTHON_VERSION)" \
		> env/lib/python$(PYTHON_VERSION)/site-packages/psycopg.pth