infra: Also convert the documentation to use `make-env`.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
diff --git a/.readthedocs.yml b/.readthedocs.yml
index 2546fc3..5321847 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -26,7 +26,7 @@
configuration: docs/conf.py
conda:
- environment: environment.yml
+ environment: docs/environment.yml
submodules:
include:
diff --git a/docs/Makefile b/docs/Makefile
index 9c7399f..9bc3b5c 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -1,15 +1,35 @@
-# Minimal makefile for Sphinx documentation
+# Copyright 2020 SkyWater PDK 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
+#
+# https://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
-DOCSDIR := $(dir $(lastword $(MAKEFILE_LIST)))
-TOPDIR := $(realpath $(DOCSDIR)/..)
+# The top directory where environment will be created.
+DOCS_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
+TOP_DIR := $(realpath $(DOCS_DIR)/..)
-ifndef NO_CONDA
-include $(TOPDIR)/scripts/make/conda.mk
-endif
-ifdef NO_CONDA
-IN_CONDA_ENV :=
-CONDA_ENV_PYTHON :=
-endif
+# 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
+
+$(TOP_DIR)/third_party/make-env/conda.mk: $(TOP_DIR)/.gitmodules
+ cd $(TOP_DIR); git submodule update --init third_party/make-env
+
+-include $(TOP_DIR)/third_party/make-env/conda.mk
SHELL = /bin/bash
@@ -22,8 +42,8 @@
SPHINXBUILD = $(IN_CONDA_ENV) sphinx-build
SPHINXAUTOBUILD = $(IN_CONDA_ENV) sphinx-autobuild
SPHINXPROJ = SkyWaterPDK
-SOURCEDIR = $(DOCSDIR)
-BUILDDIR = $(DOCSDIR)/_build
+SOURCEDIR = $(DOCS_DIR)
+BUILDDIR = $(DOCS_DIR)/_build
# Put it first so that "make" without argument is like "make help".
help: | $(CONDA_ENV_PYTHON)
@@ -75,10 +95,11 @@
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
.DEFAULT: | $(CONDA_ENV_PYTHON)
+ @make env
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-clean: clean-docs
+clean:: clean-docs
clean-docs:
diff --git a/docs/environment.yml b/docs/environment.yml
new file mode 100644
index 0000000..23797fd
--- /dev/null
+++ b/docs/environment.yml
@@ -0,0 +1,28 @@
+# Copyright 2020 SkyWater PDK 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
+#
+# https://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
+name: skywater-pdk-docs
+channels:
+- symbiflow
+- conda-forge
+- defaults
+dependencies:
+- python=3.8
+- pip
+- yosys
+- netlistsvg
+# Packages installed from PyPI
+- pip:
+ - -r file:requirements.txt
diff --git a/environment.yml b/environment.yml
index e46f745..ee13527 100644
--- a/environment.yml
+++ b/environment.yml
@@ -16,14 +16,10 @@
name: skywater-pdk-scripts
channels:
- symbiflow
-- conda-forge
- defaults
dependencies:
- python=3.8
- pip
-- yosys
-- netlistsvg
# Packages installed from PyPI
- pip:
- -r file:requirements.txt
- - -r file:docs/requirements.txt