Setup build environment using make-env
Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
This commit is contained in:
parent
1a2ee6f472
commit
b5322a95aa
|
@ -1,3 +1,4 @@
|
||||||
build/
|
build/
|
||||||
|
env/
|
||||||
*.pyc
|
*.pyc
|
||||||
*.sw*
|
*.sw*
|
||||||
|
|
35
Makefile
35
Makefile
|
@ -1,5 +1,18 @@
|
||||||
# Makefile for Sphinx documentation
|
# make-env setup -------------------------------------------------------------
|
||||||
|
|
||||||
|
TOP_DIR := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
|
||||||
|
|
||||||
|
# A pip `requirements.txt` file.
|
||||||
|
# https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
|
||||||
|
REQUIREMENTS_FILE := requirements.txt
|
||||||
#
|
#
|
||||||
|
# A conda `environment.yml` file.
|
||||||
|
# https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
|
||||||
|
ENVIRONMENT_FILE := environment.yml
|
||||||
|
|
||||||
|
include third_party/make-env/conda.mk
|
||||||
|
|
||||||
|
# Makefile for Sphinx documentation ------------------------------------------
|
||||||
|
|
||||||
# You can set these variables from the command line.
|
# You can set these variables from the command line.
|
||||||
SPHINXOPTS =
|
SPHINXOPTS =
|
||||||
|
@ -12,9 +25,6 @@ PAPEROPT_a4 = -D latex_paper_size=a4
|
||||||
PAPEROPT_letter = -D latex_paper_size=letter
|
PAPEROPT_letter = -D latex_paper_size=letter
|
||||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
||||||
|
|
||||||
CONDA_DIR = build/conda
|
|
||||||
CONDA_ENV_FILE = environment.yml
|
|
||||||
|
|
||||||
DOXYGEN_DIR = build/doxygen
|
DOXYGEN_DIR = build/doxygen
|
||||||
|
|
||||||
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp epub latex latexpdf text man changes linkcheck doctest env
|
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp epub latex latexpdf text man changes linkcheck doctest env
|
||||||
|
@ -36,9 +46,8 @@ help:
|
||||||
@echo " linkcheck to check all external links for integrity"
|
@echo " linkcheck to check all external links for integrity"
|
||||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||||
@echo " env to create a conda environment with the needed packages"
|
@echo " env to create a conda environment with the needed packages"
|
||||||
@echo " env-clean to remove the conda environment"
|
|
||||||
|
|
||||||
clean:
|
clean::
|
||||||
-rm -rf $(BUILDDIR)/
|
-rm -rf $(BUILDDIR)/
|
||||||
-rm -rf $(DOXYGEN_DIR)/
|
-rm -rf $(DOXYGEN_DIR)/
|
||||||
|
|
||||||
|
@ -118,17 +127,3 @@ doctest:
|
||||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||||
@echo "Testing of doctests in the sources finished, look at the " \
|
@echo "Testing of doctests in the sources finished, look at the " \
|
||||||
"results in $(BUILDDIR)/doctest/output.txt."
|
"results in $(BUILDDIR)/doctest/output.txt."
|
||||||
|
|
||||||
env:
|
|
||||||
@rm -rf $(CONDA_DIR)
|
|
||||||
@mkdir -p $(CONDA_DIR)
|
|
||||||
@wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh\
|
|
||||||
-O $(CONDA_DIR)/miniconda.sh
|
|
||||||
@bash $(CONDA_DIR)/miniconda.sh -f -b -p $(CONDA_DIR) > /dev/null &&\
|
|
||||||
echo "Conda environment created successfully..."
|
|
||||||
@./$(CONDA_DIR)/bin/conda env create -q -f $(CONDA_ENV_FILE) > /dev/null &&\
|
|
||||||
echo "Conda packages installed successfully..."
|
|
||||||
@echo "To use conda environment type:\nsource enter-env.sh"
|
|
||||||
|
|
||||||
env-clean:
|
|
||||||
@rm -rf $(CONDA_DIR)
|
|
||||||
|
|
24
enter-env.sh
24
enter-env.sh
|
@ -1,24 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
if [ ! -n "${BASH_VERSION}" ]; then
|
|
||||||
echo "This script has to be sourced in bash!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ "${BASH_SOURCE[0]}" != "${0}" ]] && SOURCED=1 || SOURCED=0
|
|
||||||
if [ ${SOURCED} == 0 ]; then
|
|
||||||
echo "This script has to be sourced!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
CONDA_DIR=${PWD}/build/conda
|
|
||||||
CONDA_DIR_NAME=SymbiFlow-docs
|
|
||||||
|
|
||||||
export PATH="${CONDA_DIR}/bin:$PATH"
|
|
||||||
|
|
||||||
# Use Conda hook for user shell
|
|
||||||
SHELL_NAME=`basename $SHELL`
|
|
||||||
CONDA_HOOK_COMMAND="${CONDA_DIR}/bin/conda shell.${SHELL_NAME} hook"
|
|
||||||
eval "$(${CONDA_HOOK_COMMAND})"
|
|
||||||
|
|
||||||
conda activate ${CONDA_DIR_NAME}
|
|
|
@ -1,4 +1,4 @@
|
||||||
name: SymbiFlow-docs
|
name: symbiflow-docs
|
||||||
channels:
|
channels:
|
||||||
- symbiflow
|
- symbiflow
|
||||||
- conda-forge
|
- conda-forge
|
||||||
|
|
Loading…
Reference in New Issue