| 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 | |
| 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 | |
| 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. |
| 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 |
| 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) |