github.com/zhyoulun/cilium@v1.6.12/Documentation/Makefile (about)

     1  # Minimal makefile for Sphinx documentation
     2  #
     3  include ../Makefile.quiet
     4  
     5  # You can set these variables from the command line.
     6  SPHINXOPTS    =
     7  SPHINXBUILD   = sphinx-build
     8  SPHINXPROJ    = Cilium
     9  IGNOREDWARNINGS := -e "tabs assets" -e "misspelled words" -e "RemovedInSphinx20Warning"
    10  SOURCEDIR     = .
    11  BUILDDIR      = _build
    12  CMDREFDIR     = cmdref
    13  CILIUMDIR     = ../cilium
    14  AGENTDIR      = ../daemon
    15  BUGTOOLDIR    = ../bugtool
    16  HEALTHDIR     = ../cilium-health
    17  OPERATORDIR   = ../operator
    18  SPELLING_LIST = spelling_wordlist.txt
    19  
    20  # Put it first so that "make" without argument is like "make help".
    21  help:
    22  	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
    23  
    24  PIP_REQUIREMENTS = $(shell grep -ve "^\#.*" requirements.txt | sed -e 's/==.*//g' -e 's/^.*\/\([^./]*\).*$$/"\1"/g' -e 's/_/-/g' -e 's/\n/ /g')
    25  
    26  check-requirements:
    27  	@set -e;								\
    28  	$(ECHO_CHECK) documentation dependencies...;				\
    29  	PYPKGS=$$(pip3 freeze);							\
    30  	for pkg in ${PIP_REQUIREMENTS}; do					\
    31  		echo $${PYPKGS} | grep -q $${pkg}				\
    32  		|| (echo "Documentation dependency '$${pkg}' not found.";	\
    33  		    echo "Run 'pip3 install --user -r Documentation/requirements.txt'";	\
    34  		    exit 2);							\
    35  	done
    36  
    37  cmdref:
    38  	$(QUIET) # We don't know what changed so recreate the directory
    39  	$(QUIET) -rm -rvf $(CMDREFDIR)/cilium*
    40  	@$(ECHO_GEN)cmdref/cilium
    41  	$(QUIET) ${CILIUMDIR}/cilium cmdref -d $(CMDREFDIR)
    42  	@$(ECHO_GEN)cmdref/cilium-bugtool
    43  	$(QUIET) ${BUGTOOLDIR}/cilium-bugtool cmdref -d $(CMDREFDIR)
    44  	@$(ECHO_GEN)cmdref/cilium-agent
    45  	$(QUIET) ${AGENTDIR}/cilium-agent --cmdref $(CMDREFDIR)
    46  	@$(ECHO_GEN)cmdref/cilium-health
    47  	$(QUIET) ${HEALTHDIR}/cilium-health --cmdref $(CMDREFDIR)
    48  	@$(ECHO_GEN)cmdref/cilium-operator
    49  	$(QUIET) ${OPERATORDIR}/cilium-operator --cmdref $(CMDREFDIR)
    50  
    51  # Touch "$@.ok" if the docs build succeeds. Fail if there are errors
    52  # or output other than those including the following phrases:
    53  # "tabs assets" - These are always printed by the spelling check.
    54  # "misspelled words" - These will be explicitly checked below.
    55  # Finally, fail out if we can't remove the file that marks success.
    56  check-build: check-requirements
    57  	@$(ECHO_CHECK) documentation build...
    58  	@mkdir -p $(BUILDDIR)
    59  	$(QUIET)($(SPHINXBUILD) -b spelling -d "$(BUILDDIR)/doctrees" "$(SOURCEDIR)" "$(BUILDDIR)/spelling" -q -E $(SPHINXOPTS) 2>&1 && touch $@.ok) > $(BUILDDIR)/warnings.txt
    60  	@if grep -q -v $(IGNOREDWARNINGS) $(BUILDDIR)/warnings.txt; then \
    61  		echo "Please fix the following documentation warnings:"; \
    62  		grep -v $(IGNOREDWARNINGS) "$(BUILDDIR)/warnings.txt"; \
    63  		exit 1; \
    64  	fi
    65  	@if [ "$$(wc -l < "$(BUILDDIR)/spelling/output.txt")" -ne "0" ]; then \
    66  		echo "Please fix the following spelling mistakes:"; \
    67  		sed 's/^/* Documentation\//' $(BUILDDIR)/spelling/output.txt; \
    68  		echo "If the words are not misspelled, add them to Documentation/$(SPELLING_LIST)."; \
    69  		exit 1; \
    70  	fi
    71  	@rm $@.ok 2>/dev/null
    72  
    73  # To use checklinks with `make render-docs`,
    74  # edit the line `%: Makefile check-requirements check-build checklinks`
    75  checklinks:
    76  	$(QUIET)$(SPHINXBUILD) -b linkcheck -d "$(BUILDDIR)/doctrees" "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS)
    77  
    78  .PHONY: help Makefile ../Makefile.quiet check-requirements cmdref
    79  
    80  # Catch-all target: route all unknown targets to Sphinx using the new
    81  # "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
    82  %: Makefile check-requirements check-build
    83  	@$(ECHO_GEN)_build/$@
    84  	$(QUIET)$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)