Commit | Line | Data |
---|---|---|
ba64dfcc SM |
1 | # SPDX-License-Identifier: MIT |
2 | ||
3 | SPHINX_SOURCE_DIR = $(srcdir)/source | |
4 | SPHINX_EXT_DIR = $(srcdir)/ext | |
5 | SPHINX_BUILD_DIR = $(builddir)/build | |
6 | SPHINX_BUILD_HTML_DIR = $(SPHINX_BUILD_DIR)/html | |
7 | SPHINX_HTML_TARGET = $(SPHINX_BUILD_HTML_DIR)/index.html | |
8 | ||
9 | EXTRA_DIST = $(SPHINX_SOURCE_DIR) $(SPHINX_EXT_DIR) | |
10 | ||
11 | all-local: $(SPHINX_HTML_TARGET) | |
12 | ||
13 | PYTHON_BT2_BUILD_LIB_DIR = $(abs_top_builddir)/src/bindings/python/bt2/build/build_lib | |
14 | PP = $(PYTHON_BT2_BUILD_LIB_DIR) | |
15 | LLP = $(abs_top_builddir)/src/lib/.libs | |
16 | ||
0b0893d4 SM |
17 | # Sphinx loads the bt2 Python module and thus libbabeltrace2.so. If |
18 | # AddressSanitizer is used, we must preload libasan.so so that libasan doesn't | |
19 | # complain about not being the first loaded library. | |
20 | # | |
21 | # Python produces some leaks, so disable leak detection (we don't care about | |
22 | # leaks here anyway). | |
23 | if ENABLE_ASAN | |
24 | MAYBE_LD_PRELOAD = LD_PRELOAD="$$($(CC) -print-file-name=libasan.so):$(LD_PRELOAD)" | |
25 | MAYBE_ASAN_OPTIONS = ASAN_OPTIONS="$(ASAN_OPTIONS),detect_leaks=0" | |
26 | endif | |
27 | ||
ba64dfcc SM |
28 | # `PATH` is used as a replacement for `LD_LIBRARY_PATH` on Windows |
29 | # builds (Cygwin, MinGW). | |
30 | # | |
31 | # `DYLD_LIBRARY_PATH` is used a replacement for `LD_LIBRARY_PATH` on | |
32 | # macOS builds. | |
0b0893d4 SM |
33 | SPHINXBUILD = \ |
34 | PATH="$(LLP):$$PATH" \ | |
35 | PYTHONPATH="$(PP):$(SPHINX_EXT_DIR)" \ | |
36 | LD_LIBRARY_PATH="$(LLP)" \ | |
37 | DYLD_LIBRARY_PATH="$(LLP)" \ | |
38 | $(MAYBE_LD_PRELOAD) \ | |
39 | $(MAYBE_ASAN_OPTIONS) \ | |
40 | $(PYTHON) -m sphinx | |
ba64dfcc SM |
41 | SPHINX_SRC = \ |
42 | $(SPHINX_SOURCE_DIR)/common.rst \ | |
43 | $(SPHINX_SOURCE_DIR)/index.rst \ | |
44 | $(SPHINX_SOURCE_DIR)/installation.rst \ | |
45 | $(SPHINX_SOURCE_DIR)/examples.rst | |
46 | ||
47 | $(SPHINX_HTML_TARGET): $(SPHINX_SRC) | |
48 | $(SPHINXBUILD) -b html -E $(SPHINX_SOURCE_DIR) $(SPHINX_BUILD_HTML_DIR) | |
49 | ||
50 | clean-local: | |
51 | rm -rf $(SPHINX_BUILD_DIR) |