| # Copyright (C) 2017-2020 The Project X-Ray Authors. |
| # |
| # Use of this source code is governed by a ISC-style |
| # license that can be found in the LICENSE file or at |
| # https://opensource.org/licenses/ISC |
| # |
| # SPDX-License-Identifier: ISC |
| # Minimal makefile for Sphinx documentation |
| # |
| |
| MAKEDIR := $(dir $(lastword $(MAKEFILE_LIST))) |
| |
| # You can set these variables from the command line. |
| SPHINXOPTS = |
| SPHINXBUILD = sphinx-build |
| SPHINXAUTOBUILD = sphinx-autobuild |
| SPHINXPROJ = ProjectX-Ray |
| SOURCEDIR = . |
| BUILDDIR = _build |
| |
| # Put it first so that "make" without argument is like "make help". |
| help: |
| @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) |
| |
| livehtml: |
| @$(SPHINXAUTOBUILD) -b html --ignore \*.swp --ignore \*~ $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/html" |
| |
| .PHONY: help livehtml Makefile |
| |
| # Update fuzzer / minitest markdown links. |
| fuzzers-links: |
| @mkdir -p $(MAKEDIR)/db_dev_process/fuzzers |
| @cd $(MAKEDIR)/db_dev_process/fuzzers && rm -f *.md |
| @cd $(MAKEDIR)/db_dev_process/fuzzers && \ |
| for i in ../../../fuzzers/*; do \ |
| n=$$(basename $$i | sed -e's/^[0-9][0-9][0-9]-//'); \ |
| if [ ! -d $$i ]; then \ |
| continue; \ |
| fi; \ |
| if [ -e $$i/README.md ]; then \ |
| echo "Linking $$i/README.md"; \ |
| ln -s $$i/README.md $${n}.md; \ |
| else \ |
| echo "Missing $$i/README.md"; \ |
| fi; \ |
| done |
| |
| minitests-links: |
| @mkdir -p $(MAKEDIR)/db_dev_process/minitests |
| @cd $(MAKEDIR)/db_dev_process/minitests && rm -f *.md |
| @cd $(MAKEDIR)/db_dev_process/minitests && \ |
| for i in ../../../minitests/*; do \ |
| n=$$(basename $$i | sed -e's/^[0-9][0-9][0-9]-//'); \ |
| if [ ! -d $$i ]; then \ |
| continue; \ |
| fi; \ |
| if [ -e $$i/README.md ]; then \ |
| echo "Linking $$i/README.md"; \ |
| ln -s $$i/README.md $${n}.md; \ |
| else \ |
| echo "Missing $$i/README.md"; \ |
| fi; \ |
| done |
| |
| links: fuzzers-links minitests-links |
| @true |
| |
| .PHONY: fuzzers-links minitests-links links |
| |
| # Catch-all target: route all unknown targets to Sphinx using the new |
| # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). |
| %: Makefile |
| @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) |