| # Copyright 2020-2022 F4PGA Authors | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| # | |
| # SPDX-License-Identifier: Apache-2.0 | |
| # Minimal makefile for Sphinx documentation | |
| # | |
| SHELL = /bin/bash | |
| MAKEDIR := $(dir $(lastword $(MAKEFILE_LIST))) | |
| # You can set these variables from the command line. | |
| COLLECTEXAMPLES = [ -e env/bin/activate ] && source env/bin/activate; python -c "from collect_examples import collect_examples; collect_examples()" | |
| SPHINXOPTS = | |
| SPHINXBUILD = [ -e env/bin/activate ] && source env/bin/activate; sphinx-build | |
| SPHINXAUTOBUILD = [ -e env/bin/activate ] && source env/bin/activate; sphinx-autobuild --watch $(MAKEDIR)../tests | |
| SPHINXPROJ = F4PGAV2X | |
| SOURCEDIR = . | |
| BUILDDIR = _build | |
| OSFLAG = | |
| LIVEHTML_HOST = 127.0.0.1 | |
| LIVEHTML_PORT = 8000 | |
| UNAME_S := $(shell uname -s) | |
| ifneq (, $(findstring Linux, $(UNAME_S))) | |
| OSFLAG := Linux | |
| endif | |
| ifeq ($(UNAME_S), Darwin) | |
| OSFLAG := MacOSX | |
| endif | |
| ifneq (, $(findstring Cygwin, $(UNAME_S))) | |
| OSFLAG := Linux | |
| endif | |
| ifneq (, $(findstring MINGW, $(UNAME_S))) | |
| OSFLAG := Linux | |
| endif | |
| # Put it first so that "make" without argument is like "make help". | |
| help: | |
| @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | |
| livehtml: | |
| rm -rf examples | |
| @$(COLLECTEXAMPLES) # Do this here to prevent sphinx-autobuild from slowly detecting all the changes | |
| @$(SPHINXAUTOBUILD) -b html --host ${LIVEHTML_HOST} --port ${LIVEHTML_PORT} --ignore \*.swp --ignore \*~ $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/html" | |
| .PHONY: help livehtml Makefile | |
| env/Miniconda3-latest-$(OSFLAG)-x86_64.sh: | |
| mkdir env | |
| wget https://repo.anaconda.com/miniconda/Miniconda3-latest-$(OSFLAG)-x86_64.sh -O env/Miniconda3-latest-$(OSFLAG)-x86_64.sh | |
| chmod a+x env/Miniconda3-latest-$(OSFLAG)-x86_64.sh | |
| env: | |
| rm -rf env | |
| make env/Miniconda3-latest-$(OSFLAG)-x86_64.sh | |
| ./env/Miniconda3-latest-$(OSFLAG)-x86_64.sh -p $(PWD)/env -b -f | |
| source env/bin/activate; conda config --system --add envs_dirs $(PWD)/env/envs | |
| source env/bin/activate; conda config --system --add pkgs_dirs $(PWD)/env/pkgs | |
| source env/bin/activate; conda env update --name base --file ./environment.yml | |
| .PHONY: env | |
| # 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) |