Files
gps/dependencies/chisel/website/Makefile
T
2026-07-12 11:01:51 +03:00

59 lines
1.7 KiB
Makefile

buildDir ?= build
subprojects = $(buildDir)/subprojects
docs = $(buildDir)/docs
website_docs_dest = docs/src/main/tut/chisel3/docs
chisel3 = ../
www-docs = \
$(shell find $(chisel3)/docs/ -name "*.md")
www-src = \
$(website_docs_dest) \
$(shell find docs/src/main/resources) \
$(shell find docs/src/main/tut) \
$(chisel3)/README.md
# Get the latest version of some sequence of version strings
# Usage: $(call getTags,$(foo))
define latest
$(shell echo $(1) | tr " " "\n" | sort -Vr | head -n1 | sed 's/^v//')
endef
.PHONY: all clean mrproper publish serve
.PRECIOUS: \
$(subprojects)/chisel3/%/.git $(subprojects)/chisel3/%/target/scala-$(scalaVersion)/unidoc/index.html
# Build the site into the default directory (docs/target/site)
all: docs/target/site/index.html
# Remove the output of all build targets
clean:
rm -rf docs/target docs/src/main/tut/contributors.md $(website_docs_dest)
# Remove everything
mrproper:
rm -rf $(buildDir) target project/target
# Publish Microsite
publish: all
sbt docs/ghpagesPushSite
# Start a Jekyll server for the site
serve: all
(cd docs/target/site && jekyll serve)
# Build the sbt-microsite
docs/target/site/index.html: build.sbt docs/src/main/tut/contributors.md $(www-src)
sbt docs/makeMicrosite
# Determine contributors
docs/src/main/tut/contributors.md: build.sbt
sbt contributors/determineContributors
# Build docs in subproject with a specific tag.
# This command is brittle as it assumes chisel3 is up one dir from here in the path to where
# we want to put the website docs.
$(website_docs_dest): $(chisel3)/docs/ $(www-docs)
(cd $(chisel3) && sbt docs/mdoc && rm -rf website/$(website_docs_dest) && cp -r docs/generated website/$(website_docs_dest))