Makefile: proper versioning of all crates in docs
This commit is contained in:
@@ -1,12 +1,34 @@
|
|||||||
|
DOCCRATES = arrayvec nodrop odds
|
||||||
|
|
||||||
docs: VERSION
|
# deps to delete the generated docs
|
||||||
cargo doc
|
RMDOCS = unreachable void
|
||||||
|
|
||||||
|
FEATURES = odds/unstable
|
||||||
|
|
||||||
|
VERSIONS = $(patsubst %,target/VERS/%,$(DOCCRATES))
|
||||||
|
|
||||||
|
docs: mkdocs subst $(RMDOCS)
|
||||||
|
|
||||||
|
# https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html
|
||||||
|
$(VERSIONS): Cargo.toml
|
||||||
|
mkdir -p $(@D)
|
||||||
|
cargo pkgid $(@F) | sed -e "s/.*#\(\|.*:\)//" > "$@"
|
||||||
|
|
||||||
|
$(DOCCRATES): %: target/VERS/%
|
||||||
|
# Put in the crate version into the docs
|
||||||
|
find ./doc/$@ -name "*.html" -exec sed -i -e "s/<title>\(.*\) - Rust/<title>$@ $(shell cat $<) - \1 - Rust/g" {} \;
|
||||||
|
|
||||||
|
subst: $(DOCCRATES)
|
||||||
|
|
||||||
|
mkdocs: Cargo.toml
|
||||||
|
cargo doc --features=$(FEATURES)
|
||||||
rm -rf ./doc
|
rm -rf ./doc
|
||||||
cp -r ./target/doc ./doc
|
cp -r ./target/doc ./doc
|
||||||
# Put in the crate version into the docs
|
-cat ./custom.css >> doc/main.css
|
||||||
find ./doc -name "*.html" -exec sed -i -e "s/<title>\(.*\) - Rust/<title>$(shell cat VERSION) - \1 - Rust/g" {} \;
|
|
||||||
|
|
||||||
VERSION: Cargo.toml
|
$(RMDOCS): mkdocs
|
||||||
cargo pkgid | sed -e "s/.*\/\(.*\)#\(.*\)/\1 - \2/" > $@
|
rm -r ./doc/$@
|
||||||
|
sed -i "/searchIndex\['$@'\]/d" doc/search-index.js
|
||||||
|
|
||||||
.PHONY: docs
|
|
||||||
|
.PHONY: docs mkdocs subst $(DOCCRATES) $(RMDOCS)
|
||||||
|
|||||||
Reference in New Issue
Block a user